GDB是GNU Debuger的简称,是GNU发布的一款unix下应用程序调试工具。它被广泛使用在各个产家各种应用中。GDB和所有常用的调试工具一样,它的主要功能有:监视变量的值、设置断点及单步执行。
注意,在源程序编译时,要使用gcc -g 或 cc -g 或 g++ -g将源程序编译成可执行文件,然后才能使用gdb进行调试。只有这样,生成的可执行文件才包含调试信息。
参考别人的写一个简单的c程序,在linux下使用gcc编译成可执行文件,然后使用gdb进行调试。
程序源代码如下
使用gcc -g变成生成可执行文件miki,方法为 gcc -g miki.c -o miki
使用gdb开始调试miki应用,如下:
l 1 表示显示源码第一行开始的10行记录,可以写成list 1
l 表示显示源码中间的前后10行记录,可以写成list
空白回车 表示重复上一次命令操作
r 表示程序开始运行
01.(gdb) b 23
02.Breakpoint 1 at 0x4004f2: file miki.c, line 23.
03.(gdb) info b
04.Num Type Disp Enb Address What
05.1 breakpoint keep y 0x00000000004004f2 in main at miki.c:23
06.(gdb) i b
07.Num Type Disp Enb Address What
08.1 breakpoint keep y 0x00000000004004f2 in main at miki.c:23
09.(gdb) break func
10.Breakpoint 2 at 0x40049f: file miki.c, line 5.
11.(gdb) info break
12.Num Type Disp Enb Address What
13.1 breakpoint keep y 0x00000000004004f2 in main at miki.c:23
14.2 breakpoint keep y 0x000000000040049f in func at miki.c:5
15.
16.
17.(gdb) i b
18.Num Type Disp Enb Address What
19.1 breakpoint keep y 0x00000000004004f2 in main at miki.c:23
20.2 breakpoint keep y 0x000000000040049f in func at miki.c:5
21.3 breakpoint keep y 0x000000000040049f in func at miki.c:2
22.(gdb) d 2
23.(gdb) i b
24.Num Type Disp Enb Address What
25.1 breakpoint keep y 0x00000000004004f2 in main at miki.c:23
26.3 breakpoint keep y 0x000000000040049f in func at miki.c:2
27.(gdb) delete 3
28.(gdb) i b
29.Num Type Disp Enb Address What
30.1 breakpoint keep y 0x00000000004004f2 in main at miki.c:2