转载 https://blog.csdn.net/qq_37941471/article/details/81476942
- 启动调试
gcc -g test.c // 编译文件,生成可执行程序,并且给文件加上调试信息
gdb a.out // 开始启动调试
2. 显示当前的代码:l
另外:
l 函数名 // 显示这个函数的代码(10行)
如果想继续查看,继续输入该命令
- 在某一行打断点:b 行号
- 开始运行程序:r( run )
- 逐步执行:s( step ) ,类似于VS中的F11
- 重复上条命令:不输入任何命令,直接enter
- 查看某个变量的变化:print 变量名
- 查看变量的类型:whatis 变量名
- 看函数的堆栈:bt
- 运行至当前函数结束:finish
- 运行至下一行语句调试:n( next )
- 退出调试:q
gdb在指定的文件.cpp下设置断点
如果linux项目下有多个.cpp,比如main.cpp fun1.cpp 和 fun2.cpp,那么如何在fun1.cpp的指定行下设置断点:
break filename:linenum
break filename:func
比如在fun1.cpp的第45行设置断点:
(gdb) break fun1.cpp:45