gdb 断点快速 saving/loading 的别名

gdb alias for quick saving/loading of breakpoints

所以我是 gdb 的新手,刚刚了解到可以使用以下方法保存断点:

save breakpoints filename

并用

加载它们
source filename

这很好,但是因为这是我每次 enter/exit gdb 或多或少计划做的事情,所以我想把它归结为一个快速别名。

所以,在我的 ~/.gdbinit 中有行

alias savebps = save breakpoints .gdb_bps
alias loadbps = source .gdb_bps
loadbps

不幸的是,每次我打开 gdb 时都会收到错误消息:

Invalid command to alias to: save breakpoints .gdb_bps

我知道(/强烈认为)我的语法是正确的,因为我已经测试过

alias savebps = help

那个别名有效。所以我认为将非 gdb 命令字(文件名)作为别名的一部分是一个问题。

所以,我的问题是:

哦,请注意,'.gdb_bps' 是我想出的任意文件名,因为很容易将 .gitignore 和东西放在一起是一件不显眼的好事。

谢谢!

Can GDB have filenames in aliases?

好像没有。看起来别名不能有任何命令参数,不仅是文件名。此别名也失败:

(gdb) alias spe = set print elements 0
Invalid command to alias to: set print elements 0

Or am I looking for something other than an 'alias'?

是的,您可以使用 user-defined command 代替:

(gdb) define savebps
Type commands for definition of "savebps".
End with a line saying just "end".
>save breakpoints .gdb_bps
>end
(gdb) 
(gdb) define loadbps
Type commands for definition of "loadbps".
End with a line saying just "end".
>source .gdb_bps
>end
(gdb)