3种便捷命令在GDB中打印变量


GDB打印变量

GDB每次暂停时打印某变量

在循环里追踪循环体每次需要c之后再p,比较费力,使用display更快捷。

(gdb) l 20
20    a=a+1
(gdb) display a
n = 1
(gdb) n
n = 2

打印另一个函数体中的变量值

在子函数中想查看另一个子函数的变量,需要用到“::”

(gdb) p subrounine_name::local_variable

打印数组时,设置最大限制数

GDB打印大型数组时,受显示限制数影响,只显示首位的元素。

(gdb) set print elements 500 #最多显示500个元素
(gdb) set print elements 0   #全部显示
(gdb) set print elements unlimited #全部显示
(gdb) p a(1)@500        #显示数组a的前500个元素