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命令文件,示例如下: