本文摘自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下的top命令――实时监控服务器状况
创建的自动快照策略怎么可以应用到任一磁盘
Linux etc是什么
查看Linux下所有用户的方法是什么
Linux是什么
Linux中常用目录有哪些作用
Linux中如何实现文件的修改与保存
Linux rm命令是什么
Linux的作用是什么
更多相关阅读请进入《Linux》频道 >>
转载请注明出处:木庄网络博客 » Linux调试工具GDB使用教程