在用gdb调试程序时,当程序运行到之前设置的断点时,很容易想到的操作就是查看当前变量的值,而gdb可以很轻易地满足的你的需求的~~

在gdb中最常用的命令就是print(简写p),具体格式如下:

print <expr>
print/f <expr>  f代表输出的格式
 x 按十六进制格式显示变量
 d 按十进制格式显示变量
 u 按十六进制格式显示无符号整型
 o 按八进制格式显示变量
 t 按二进制格式显示变量
 a 按十六进制格式显示变量
 c 按字符格式显示变量
 f 按浮点数格式显示变量

表达式

print命令可以接受表达式,其中表达式的定义遵循C/C++语法,需要注意的是表达式中不能出现程序中定义的宏表达式;同时在gdb表达式中,还支持以下三种特殊的操作符:

@       是一个和数组有关的操作符,在后面会有更详细的说明
::      指定一个在文件或是一个函数中的变量,注意与C++语法中的::操作符的区分
{}      表示一个指向内存地址的类型为type的一个对象

更多 >