背景
很久不用 GDB,很容易就忘了怎么用。本文快速记录几个步骤。
使用场景
引入 GDB 前:
- vim 1.c 编辑某个 C
- gcc 1.c 编译 C 文件
- ./a.out 执行某个文件,crash了
引入 GDB 后:
- vim 1.c 编辑某个 C
- gcc 1.c 编译 C 文件
- gdb ./a.out
- r # GDB 命令,运行
- 遇到crash
- bt # 查看堆栈,可以显示多少行
- where # 同样可以查看堆栈
- r # 重新在启动执行程序
3个步骤是:
- gdb a.out
- r
- bt #或者where
总结
所以核心是 gdb直接启动后,r执行程序 crash后使用bt查看程序所在行。更多高阶用法以后更新。