g++ main.c -o App -g
加-g进行gdb调试
- gdb App:启动gdb调试
- r/run:运行程序
- start:运行程序,程序停在int main() 处
- n/next:执行下一条指令
- 回车:重复上一次命令
- step:进入函数内部,对于printf,cout 等库封装的函数不能进入
- q/quit:退出gdb
- set args:传递参数(例如:程序中定义了一个int num=0; 可以set num=2,把num的值改成2)
- list:查看代码内容(从main函数处开始查看,默认显示10行代码。list 3,20:显示3-20行的代码, list 9 显示第9行附近的代码)
- b/break:设置断电(b 17:在17行设置断点, info b :查看所有断点)
- d/del:删除断点(d 4:删除4号断点)
- p:查看信息(p num:查看num的值)
- ptype:查看类型
- c/continue:查看下一个断点
- info display:展示显示的信息
- display:显示变量的值,用于追踪
- ulimit -c:查看core文件大小
- ulimit -c unlimited:执行./a.out前加这句话会生成无限制core文件大小的core文件
- gdb app core:查看core文件检查代码哪里出错(可以追加where如果不能显示哪里有错)