我想执行非常简单的命令
print var1, var2, var3, var4
在 gdb 中不时检查变量的值。
我不想使用显示屏,因为它会扰乱我的视图。
我该怎么做?现在我能做的就是:
p var1
p var2
p var3
p var4
你可以简单地这样做
print {var1,var2,var3,var4}
这样就可以了。
使用 printf 命令。这有点麻烦,但它可以很好地控制格式。从命令行:
(gdb) help printf
printf "printf format string", arg1, arg2, arg3, ..., argn
This is useful for formatted output in user-defined commands.
格式字符串类似于 C 语言(%d 表示正常大小的整数,%s 表示空终止字符串等)。
使用宏:
例如继续下一个断点并打印
(gdb) define prm
键入命令来定义
prm
。
以一行文字结尾:end
。
>continue
>print var1
>print var2
>print var3
>end
(gdb) prm
$5 = 0
$6 = 10
$7 = -1
可能有更简单的解决方案,但您也许可以使用 GDB 宏组合一些东西:http://www.ibm.com/developerworks/aix/library/au-gdb.html
将 printf 与 %V 格式说明符一起使用。
printf "%V\n%V\n%V\n", var1, var2, var3