(1) print 命令 输出或者修改指定变量或者表达式的值 (gdb) print num (gdb) p num (gdb) print file::variable (gdb) print function::variable 其中file用于指定具体的文件名,funciton 用于指定具体所在函数的函数名,variable表示要查看的目标变量或表达式。 另外,print也可以打印出类或者结构体变量的值。 (2)...
(1) print 命令 输出或者修改指定变量或者表达式的值 (gdb) print num (gdb) p num (gdb) print file::variable (gdb) print function::variable 1. 2. 3. 4. 其中file用于指定具体的文件名,funciton 用于指定具体所在函数的函数名,variable表示要查看的目标变量或表达式。 另外,print也可以打印出类或者结构...
(gdb) print array[0]@2$1= {1,2} 当程序中包含多个作用域不同但名称相同的变量或表达式时,可以借助::运算符明确指定要查看的目标变量或表达式。::运算符的语法格式如下: (gdb) print file::variable (gdb) print function::variable 其中file 用于指定具体的文件名,funciton 用于指定具体所在函数的函数名,v...
(gdb) print function::variable 其中file用于指定具体的文件名,funciton用于指定具体所在函数的函数名,variable表示要查看的目标变量或表达式。 另外,print也可以打印出类或者结构体变量的值。 ### display 命令 和print命令一样,display命令也用于调试阶段查看某个变量或表达式的值,它们的区别是,使用display命令查看变量...
function::variable eg: 查看文件f2.c中的全局变量x的值: gdb) p 'f2.c'::x 注:如果你的程序编译时开启了优化选项,那么在用GDB调试被优化过的程序时,可能会发生某些变量不能访问,或是取值错误码的情况。对付这种情况时,需要在编译程序时关闭编译优化。GCC,你可以使用“-gstabs” 选项来解决这个问题。
在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:print print /是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按16进制的格式输出,那么就是/x。
7.设置位置断点,设置断点命令b (break的简写) b linenum b function b filename:linenum b filename:function b *address b if <condition> 8. 查看当前运行信息 info b <breakpoints> breakpoints 为设置的断点的标号 info args/frame/locals/line filename:function info line 配合disassemble使用可查看程序汇编...
注:上面里面使用了一个命令print(也可以简写p,一般在gdb里面,命令可以简写命令的首个字母)来打印出变量n值。 下面我继续在程序的第21行和函数tempFunction设置断点: 说明: 使用“c”命令继续(Continue)执行被调试程序,程序将中断在第二个断点(21行),此时全局变量 nGlobalVar 的值应该是 88;再一次执行“c”命令...
breakfunction# 当程序执行到函数名为function的函数时暂停程序breakfilename:function# 当程序执行到源文件名为filename且函数名为function的函数时暂停程序breaklinenum# 当程序执行到当前文件的第linenum行时暂停程序breakfilename:linenum# 当程序执行到源文件filename的第linenum行时暂停程序break...ifexpr# 设置条件...
跳出函数(jump-out-of-function)是GDB中的一种常见调试技术,它允许我们在程序中强行跳出当前函数,在函数外进行调试。它可以帮助用户更好地阅读和调试程序。 1.2 GDB跳出函数的作用 GDB跳出函数的作用主要有三大方面: (1)分析函数的形参和实参:在跳出函数后,我们可以查看形参(function arguments)和实参(function parame...