我遇到了在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) –