GDB
GDB
GDB
GDB
教程
GDB 是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行
序列,形成脚本。 UNIX 下的软件全是命令行的,这给程序开发提供了极大的便利,命令 行
软件的优势在于, 他们可以非常容易的集成在一起, 使用几个简单的已有工具的命令,就 可
以做出一个非常强大的功能。
于是 UNIX 下的软件比 windows 下的软件更能有机的结合,各自发挥各自的长处,组合
成更为强筋的功能。而 windows 下的图形软件基本上各自为营,互相不能条用,很不利于
各种软件的相互集成。在这里并不是要和 windows 做个什么比较,所谓 “ 寸有所长,尺有
所短
”
,图形化工具还是有不如命令行的地方。
用 GDB
GDB
GDB
GDB
调试程序
GDB
GDB
GDB
GDB
概述
GDB 是 GNU 开源组织发布的一个强大的 UNIX 下调试程序工具。 或许各位比较喜欢那 种
图形界面方式的,像 VC , BCB 等 IDE 的调试,但如果你是在 UNIX 平台下作软件,你会
发现 GDB 这个调试工具有比 VC , BCB 的图形化调试器更强大的功能。所谓 “
寸有所长,
尺有所短 ” 就是这个道理。
一般来说, GDB 主要帮助你完成下面四个方面的功能:
1 、启动你的程序,可以按照你自定义的要求随心所欲的运行程序。
2 、可以让调试程序在你所指定的位置的断点处停止。
3 、当程序停止时,可以检查此时你的程序中所发生的事情。
4 、动态的改变你程序的执行环境。
从上面看来, GDB 和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在
细节上, 你会发现 GDB 这个调试工具的强大, 大家可能习惯图形化的调试工具, 但有时
候,
命令行的调试工具却有着图形化工具所不能完成的功能。
让我们来看一个例子:
源程序: test.c
1 #include <stdio.h>
2
3 int func(int n)
4 {
5 int sum=0,i;
6 for(i=0; i<n; i++)
7 {
8 sum+=i;
9 }
10 return sum;
11 }
12
13