使用gdb,需要保留调试信息。对于g++,是使用-g编译选项;对于CMake,则是设置CMAKE_BUILD_TYPE变量。
// CMake配置 set(CMAKE_BUILD_TYPE "Debug")
gdb 调试文件:启动gdb。
1、bt(backtrace):查看调用堆栈。
2、r(run):运行程序。
3、info b(break):查看断点信息。
4、l(list):查看源码。
5、b(break) n:在第n行设置断点。条件断点则加上 if expression。
6、q(quit):退出gdb。
7、c(continue):继续运行。
8、p(print):打印。
9、n(next):单步运行。
10、watch n:在第n行设置观察点。
11、b func:在函数func入口设置断点。