在使用gdb调试程序时,可以通过以下几种方式告诉gdb优化的输出值的值,或让它推断这个值:
print x
。如果变量是一个结构体或类的成员变量,可以使用print obj->member
来打印成员变量的值。display var
命令来设置要显示的变量。例如,display x
会在每次程序停下来时打印出变量x的值。watch var
命令来设置要监视的变量。例如,watch x
会在变量x的值发生变化时停下来。break line if condition
命令来设置条件断点。例如,break 10 if x == 0
会在程序执行到第10行并且变量x的值为0时停下来。print $var
命令来打印出gdb推断的变量值。其中,$var是gdb自动生成的变量名。需要注意的是,以上方法都是在程序停下来时查看变量的值。如果想要在程序运行过程中实时查看变量的值,可以使用gdb的调试界面,通过命令行输入start
启动程序,然后使用next
、step
等命令逐行执行程序,并使用print命令查看变量的值。
关于gdb的更多用法和调试技巧,可以参考腾讯云提供的GDB调试工具介绍:GDB调试工具介绍。
领取专属 10元无门槛券
手把手带您无忧上云