gdb-如何在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=值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值