Debugging

如何讓 gdb 不問我“y 或 n”?

  • February 14, 2018

當我使用 GDB 命令add-symbol-file載入符號時,GDB 總是問我“y 或 n”,如下所示:

gdb> add-symbol-file mydrv.ko 0xa0070000
add symbol table from file "mydrv.ko" at
       .text_addr = 0xa0070000
(y or n)

如何讓它不問,悄悄執行?

gdb 將要求您確認某些命令,如果confirm設置的值為on. 來自可選警告和消息

  • set confirm off

禁用確認請求。請注意,使用 –batch 選項(請參閱 -batch)執行 GDB 也會自動禁用確認請求。

  • set confirm on

啟用確認請求(預設)。

  • show confirm

顯示確認請求的狀態。

這是confirm. 如果您只想為add-symbol-file命令禁用確認,您可以定義兩個鉤子,它們將在命令之前和之後執行:

(gdb) define hook-add-symbol-file
set confirm off
end
(gdb) define hookpost-add-symbol-file
set confirm on
end

如果您只想對命令的單次呼叫禁用確認,請在其前面加上server關鍵字,它是 gdb註釋系統的一部分。

引用自:https://unix.stackexchange.com/questions/151359