GDB调试全解析:从基础命令到内核调试
1. GDB命令文件
在每次运行GDB时,有些操作是重复的,比如设置sysroot。将这些命令放在一个命令文件中,每次启动GDB时自动运行,会非常方便。GDB会按以下顺序读取命令文件:
1. 读取 $HOME/.gdbinit 文件。
2. 读取当前目录下的 .gdbinit 文件。
3. 读取命令行中使用 -x 参数指定的文件。
不过,出于安全考虑,最新版本的GDB会拒绝加载当前目录下的 .gdbinit 文件。可以在 $HOME/.gdbinit 文件中添加如下内容来覆盖这一行为:
set auto-load safe-path /
如果不想全局启用自动加载,可以指定特定目录,例如:
add-auto-load-safe-path /home/chris/myprog
个人更倾向于使用 -x 参数指定命令文件,这样能清楚知道文件位置,避免遗忘。Buildroot会在 output/staging/usr/share/buildroot/gdbinit 创建一个包含正确sysroot命令的GDB命令文件,内容类似如下:
超级会员免费看
订阅专栏 解锁全文
1376

被折叠的 条评论
为什么被折叠?



