什么时候该用gdb?
(1)gdb应该是根据编译器提示处理完所有语法错误之后,遇到 “ *** Break *** segmentation violation”这种崩溃性错误时才用到的调试手段;
(2)相比单个源码文件的调试,gdb更适合用于工程级(最终可执行文件依赖于多级源码)源码的调试。
怎么用?
1、编译时要告诉编译器生成额外的可供gdb使用的调试信息。
如生成源码到对应可执行文件中的某行命令的链接,这样gdb 调试时就可以找到崩溃的那行命令对应源码中的哪一行。
(1)gcc/g++编译时:
gcc/g++ -g file.c -o prog
(2)GNU make 编译时:
在makefile中添加 CFLAGS += -g 或CPPFLAGS += -g或 CCFLAGS += -g等
(3)使用 cmake 自动生成 Makefile 时[1]:
cmake