本文摘自PHP中文网,作者小云云,侵删。
本文主要介绍了Linux调试工具GDB使用简易教程,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下,希望能帮助到大家。声明:本博客内容是由本人经过实验楼教程整理得来。
GDB的相关概念
GDB, 是 The GNU Project Debugger 的缩写, 是 Linux 下功能全面的调试工具。GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。在 Linux 环境软件开发中,GDB 是主要的调试工具,用来调试 C 和 C++ 程序。
GDB的相关操作
下面给出一个具有buging.c的程序:
1 2 3 4 5 6 7 8 9 10 11 12 | [yqtao@localhost linux]$ cat buging.c
# include <stdio.h>
int getSum(int n) {
int sum=0,i;
for (i=1;i<=n;i++)
sum+=i;
return sum;
}
int main(){
int res=getSum(100);
printf( "1+2+...+100=%d\n" ,res);
}
|
如果要调试程序,则在进行gcc编译的时候要加上-g参数
gcc -g -o bugging bugging.c
进入gdb:
gdb buging
部分gdb命令:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | (gdb) list 2
1 # include <stdio.h>
2 int getSum(int n) {
3 int sum=0,i;
4 for (i=1;i<=n;i++)
5 sum+=i;
6 return sum;
7 }
(gdb) list main
3 int sum=0,i;
4 for (i=1;i<=n;i++)
5 sum+=i;
6 return sum;
7 }
8 int main(){
9 int res=getSum(100);
10 printf( "1+2+...+100=%d\n" ,res);
11 }
(gdb) break 8
Breakpoint 1 at 0x4004fa: file buging.c, line 8.
(gdb) break getSum
Breakpoint 2 at 0x4004cb: file buging.c, line 3.
(gdb) info breakpoints
Num Type Disp Enb Address What
1 breakpoint keep y 0x00000000004004fa in main at buging.c:8
2 breakpoint keep y 0x00000000004004cb in getSum at buging.c:3
|
断点信息中每一项的信息:
阅读剩余部分
相关阅读 >>
Linux下“/”和“~”有什么区别
Linux中汉字显示乱码怎么办
如何扩容数据盘并使扩容后的容量可用
Linux安装xmind
Linux 系统和 windows 系统的区别?
Linux下如何删除乱码文件的方法
让crontab每秒钟执行一次任务的方法
Linux开发需要学什么?
怎么为一块弹性网卡分配一个或多个辅助私有ip地址
Linux支持的文件系统有哪些
更多相关阅读请进入《Linux》频道 >>
转载请注明出处:木庄网络博客 » Linux调试工具GDB使用教程