GDB调试之变量查看与修改

发布时间 2024-01-11 15:55:29作者: TechNomad

一、查看函数参数

调试代码下载地址

使用命令"p  参数名称"可以查看指定参数的值,如果想一次性查看函数的所有参数,可以使用命令"info args"或者"i args"即可。

代码中有一个test_work函数,在这个函数处设置一个断点,然后查看此函数的参数信息:

二、查看变量的值

三、设置字符串的显示规则

上述代码中使用命令p输出name的值,但是可以看到字符串后面有很多结束符,因为name定义的长度是100个字节,但是实际使用的字节却只有11个字节,剩余的字节都会使用结束符来做填补,这样看起来十分不美观 。所以可以使用命令"set print null-stop",表示遇到null结束符就不需要再打印了。

四、显示结构体信息

五、显示数组

六、gbd内嵌命令的使用

查看类型的大小:

查看字符串大小:

七、修改变量的值

在test_work函数处设置断点,并执行到断点处,查看它的参数,从age=25可以判断处它只会执行"cout << "Yong guy:" << name << endl;"这条语句。

如果我们想要程序执行"cout << "Old guy:" << name << endl;"这条语句呢,那么就需要修改age的值,比如说将age的值改为55。

修改结构体的值:

通过gdb内嵌的函数修改字符串的值: