gdb 查看结构体_gdb脚本便捷处理coredump

当面对大量数组元素的coredump分析时,手动查看效率低下。本文介绍如何使用gdb进行自动化处理,包括通过部分变量名执行set命令,利用gdb的控制结构如if和while进行条件判断与循环,以及高效地输出关心的数组元素。同时,文章提及了在遍历大数组时加入进度提示的方法,并展示了如何获取并调用函数及查看其文档,提高调试效率。
摘要由CSDN通过智能技术生成

有时候需要查看coredump文件中数组元素的值,数量少可以手动查看,如果数组很大就需要自动化处理。

1、gdb变量定义

set variable $i = 0

variable 可以省略,或者是开头至少两个字母的部分拼写,比如:va、var、vari。

修改它的值同样需要使用set语句,比如:set $i = $i + 1

gdb变量前边必须有$,否则会认为是程序中的变量。

2、gdb支持的控制结构

判断:if ... else ... end

循环:while ... end,注意打断和继续循环是:loop_break 和 loop_continue


3、数组元素的输出

就像普通代码一样:

set variable $i = 0while   p arr[$i]   set $i = $i + 1   if $i >= arr_len     loop_break   endend

也可以是

set variable $i = 0while $i < arr_len   p arr[$i]   set $i = $i + 1end

还可以利用条件表达式只输出自己关心的元素。

4、性能

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值