【发布时间】:2013-07-05 03:34:50
【问题描述】:
我在 GDB Prompt 的函数中打印多个变量 (say 25) 时遇到问题。
有什么方便的方法来代替手动打印每个变量?
我可以有一个脚本或更简单的方法来完成我的工作吗?
【问题讨论】:
我在 GDB Prompt 的函数中打印多个变量 (say 25) 时遇到问题。
有什么方便的方法来代替手动打印每个变量?
我可以有一个脚本或更简单的方法来完成我的工作吗?
【问题讨论】:
您可以在 gdb 中使用printf 命令打印多个值。
printf "%d,%d\n", a, b
要在将来使用它,您可以定义一个 gdb-function 或使用 gdb-history 功能。
要定义 gdb 函数,请使用以下内容创建/修改文件 $HOME/.gdbinit,
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。
【讨论】:
$HOME/.gdbinit 中选择的,您可以使用 -x 选项来指定命令文件。例如:gdb -x /path/.gdbinit /path/binary