在 GDB 中打印多个变量?
Posted
技术标签:
【中文标题】在 GDB 中打印多个变量?【英文标题】:Printing multiple variables in GDB? 【发布时间】:2013-07-05 03:34:50 【问题描述】:我在 GDB Prompt
的函数中打印多个变量 (say 25
) 时遇到问题。
有什么方便的方法来代替手动打印每个变量?
我可以有一个脚本或更简单的方法来完成我的工作吗?
【问题讨论】:
gdb - print multiple variables with one command的可能重复 【参考方案1】:您可以在 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。
【讨论】:
@Jeyaram,我没有使用不同的 linux 发行版的经验,但是如果不是从$HOME/.gdbinit
中选择的,您可以使用 -x
选项来指定命令文件。例如:gdb -x /path/.gdbinit /path/binary
似乎无法打印寄存器。以上是关于在 GDB 中打印多个变量?的主要内容,如果未能解决你的问题,请参考以下文章