我想执行非常简单的命令
print var1, var2, var3, var4
在gdb中不时检查变量的值。
我不想使用显示器,因为它使我的观点变得混乱。
我该怎么做?现在我所能做的就是:
p var1
p var2
p var3
p var4
答案 0 :(得分:40)
你可以简单地这样做
print {var1,var2,var3,var4}
这将完成这项工作。
答案 1 :(得分:34)
使用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等)。
答案 2 :(得分:15)
使用宏:
例如继续下一个断点并打印
(gdb) define prm
键入用于定义prm
的命令。
最后一行只说end
。
>continue
>print var1
>print var2
>print var3
>end
(gdb) prm
$5 = 0
$6 = 10
$7 = -1
答案 3 :(得分:2)
可能有一个更简单的解决方案,但您可以使用GDB宏组合一些内容:http://www.ibm.com/developerworks/aix/library/au-gdb.html