我遇到了在GDB Prompt
上的函数中打印多个变量(say 25
)的问题。在GDB中打印多个变量?
是否有任何方便的方法来做到这一点,而不是手动打印每个变量?
我可以有一个脚本或简单的方法可以完成我的工作吗?
我遇到了在GDB Prompt
上的函数中打印多个变量(say 25
)的问题。在GDB中打印多个变量?
是否有任何方便的方法来做到这一点,而不是手动打印每个变量?
我可以有一个脚本或简单的方法可以完成我的工作吗?
您可以在gdb中使用printf
命令打印多个值。
printf "%d,%d\n", a, b
要在将来使用它,您可以定义一个gdb函数或使用gdb-history功能。
要定义一个GDB-功能,创建/修改文件$HOME/.gdbinit
具有以下conten,
define print_all
printf "%d,%d\n", a, b
end
document print_all
Prints all my variables.
end
然后你可以使用print_all
为命令。
对于历史的把戏,创建/修改文件$HOME/.gdbinit
,内容如下:
set history filename ~/.gdb_history
set history save
,并使用ctrl+r
同样喜欢在bash获得。 实际gdb-history答案是here。
.gdbinit是对所有的Linux发行版都通用? – Jeyaram
@Jeyaram,我对于不同的linux发行版没有经验,但是如果没有从'$ HOME/.gdbinit'中挑选,你可以使用'-x'选项来指定命令文件。例如:'gdb -x /path/.gdbinit/path/binary' – VoidPointer
它似乎无法打印注册表。 –
的可能的复制[GDB - 打印多变量用一个命令(http://stackoverflow.com/questions/1882857/gdb-print-multiple-variables-with-one-command) –