【GDB】 .gdbinit 文件

.gdbinit 文件的使用
gdb 自定义命令

背景

gdb 在启动的时候通常想加入一下自己的命令,例如 layout asm, b main 这些。

方法1—— shell 脚本

新建一个 shell 脚本

gdb-multiarch --tui a.out                         \
--eval-command="target remote localhost:1234"       \
--eval-command="b main"

方法2——.gdbinit 文件

gdb 在启动的时候,会在你的当前工作目录下查找 .gdbinit 这个文件,并把它的内容作为gdb命令进行解释,所以如果我把脚本命名为.gdbinit ,这样在启动的时候就会处理一些你常用的命令。

实际使用时,会存在一个问题,比如你需要在 /home/tyustli/code/c_project/.gdbinit 写代码, 因此,你想在当前目录下添加 .gdbinit 方便调试。

这个时候如果直接 /home/tyustli/code/c_project/.gdbinit 下添加 .gdbinit, 然后调用 GDB
会报如下错误:

auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".

解决办法如下:
1、在/home/tyustli 下添加一个 .gdbinit, 默认GDB初始化时会调用这个文件。
2、编辑该 .gdbinit , 加上 set auto-load safe-path /home/tyustli/code/c_project/.gdbinit

set auto-load safe-path /home/tyustli/code/c_project/.gdbinit

3、在/home/tyustli/code/c_project/.gdbinit (即你要Debug的目录)下,同样添加一个.gdbinit
4、编辑该 .gdbinit,添加你需要的一些指令,例如:

layout asm
b 5

参考

https://blog.csdn.net/shenjin_s/article/details/103196892

猜你喜欢

转载自blog.csdn.net/tyustli/article/details/133363847
GDB