gdb-如何在gdb里自动打印一个链表的方法:写一小段执行嵌套脚本

在调试问题时,使用core文件和gdb来定位时。

发现需要打印错误地方的一个链表,想把这个链表全部打完需要不停的手敲next,将下一个节点打出,然后输入p命令加上变量名。

想到之前看到gdb里也可以用编程的,所以尝试了一下。

敲完while命令后,用help提示了几条如何写的规则:所有的命令(包括while)都是要放在最前面,而且一条命令一行,最后while命令要用单独一行的end来结束

注意这里的语句不需要分号来作为语句结束,而是单独用换行表示一条命令的结束。

示例如下

(gdb)while 条件(可以写成1,即死循环)

> set $变量名 = 值

>print $变量名

>end 

上述执行的结果就是:

$1=值

$2=值

$3=值

$4=值

$5=值

$6=值

$7=值

$8=值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章