深入探索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命令文件,文件中可能包含类似下面的行: