gdb流程控制(例: 循环打印数组)

gdb流程控制(例: 循环打印数组),第1张

概述参考:https://blog.csdn.net/justlinux2010/article/details/9453151 循环/条件 在gdb的脚本中循环遍历整个哈希表,并且加上判断条件来进行统计,然后输出结果。导入gdb脚本的方式很简单,gdb中输入“source 脚本名”。 脚本如下: set $i=32707set $j=0while ($i) if (fcluster->has

参考:https://blog.csdn.net/justlinux2010/article/details/9453151

循环/条件

在gdb的脚本中循环遍历整个哈希表,并且加上判断条件来进行统计,然后输出结果。导入gdb脚本的方式很简单,gdb中输入“source 脚本名”。

脚本如下:

set $i=32707set $j=0while ($i)  if (fcluster->hash_table[$i].addr == 0x380aa8c0)     set $j++  end  set $i--endp $j

前两行的set是定义两个变量,注意一定要加上‘$‘符号,否则会认为是被调试的程序中的变量。fcluster->hash_table是我的哈希表。gdb脚本中while、if语句块要以end结尾。脚本中的判断语句和C语言中的语法一样。最后输出统计结果。

上面的脚本也可以直接在gdb命令窗口输入。

printf

print只能打印一个变量或表达式,如果需要指定格式打印,可以使用printf,使用方法和C语言相同。

(gdb) help printfprintf "printf format string",arg1,arg2,arg3,...,argnThis is useful for formatted output in user-defined commands.
总结

以上是内存溢出为你收集整理的gdb流程控制(例: 循环打印数组)全部内容,希望文章能够帮你解决gdb流程控制(例: 循环打印数组)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1023427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存