如何让 gdb 不问我“y 或 n”?

xml*_*lmx 16 debugging gdb

当我使用 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)
Run Code Online (Sandbox Code Playgroud)

如何让它不问,安静地执行?

Mar*_*ick 22

如果confirm设置的值为 .gdb,则 gdb 会要求您确认某些命令on。从可选警告和消息

  • set confirm off
    禁用确认请求。请注意,使用 --batch 选项(请参阅 -batch)运行 GDB 也会自动禁用确认请求。
  • set confirm on
    启用确认请求(默认)。
  • show confirm
    显示确认请求的状态。

这是confirm. 如果您只想为add-symbol-file命令禁用确认,您可以定义两个hooks,它们将在命令之前和之后运行:

(gdb) define hook-add-symbol-file
set confirm off
end
(gdb) define hookpost-add-symbol-file
set confirm on
end
Run Code Online (Sandbox Code Playgroud)

如果您只想对命令的单个调用禁用确认,请在它前面加上server关键字,这是 gdb注释系统的一部分。