1 概述
当程序运行时出现问题时,通过GDB调试可以快速找到问题点,当然不是所有问题都能通过调试找到问题点。
在GCC编译程序时,需要加 -g参数,可以通过在-g选项后附加数字1、2或3来指定在代码中加入调试信息的多少。默认的级别是2(-g2),此时产生的调试信息包括扩展的符号表、行号、局部或外部变量信息。级别3(-g3)包含级别2中的所有调试信息,以及源代码中定义的宏。级别1(-g1)不包含局部变量和与行号有关的调试信息,因此只能够用于回溯跟踪和堆栈转储之用。
如下程序:
编译:gcc -g demo.c -o demo
运行程序时,当输入a的值为0时,报如下错:
2 启动GDB
终端输入命令:gdb demo
(若有参数:gdb --args demo parameter1 parameter2 parameter3,注意不在输入arg0,demo表示你要调试的可执行程序,为arg0,已经输入,无需再输入),当GDB提示符出现的时候,表