首页 百科知识 用调试程序

用调试程序

时间:2022-10-09 百科知识 版权反馈
【摘要】:Linux包含了一个叫GDB的GNU调试程序。GDB是一个用来调试C语言和C++程序的强力调试器。当用这种方式运行GDB,能直接指定想要调试的程序。这将告诉GDB装入名为fname的可执行文件。为了使GDB正常工作,必须使程序在编译时包含调试信息。GDB利用这些信息使源代码和机器码相关联。这些命令从简单的文件装入到允许检查所调用的堆栈内容的复杂命令,表14-4列出了在用GDB调试时会用到的一些命令。

14.2 用GDB调试GCC程序

Linux包含了一个叫GDB的GNU调试程序。GDB是一个用来调试C语言和C++程序的强力调试器。它能在程序运行时观察程序的内部结构和内存的使用情况。以下是GDB所提供的一些功能:能监视程序中变量的值;能设置断点以使程序在指定的代码行上停止执行;能一行行地执行代码。

表14.4 基本GDB命令

img126

img127

当启动GDB后,能在命令行上指定很多的选项,也可以以下面的方式来运行GDB:

$ gdb 〈fname〉

当用这种方式运行GDB,能直接指定想要调试的程序。这将告诉GDB装入名为fname的可执行文件。可以参考GDB指南页或在命令行上键入gdb -h得到一个有关选项说明的简单列表。

为了使GDB正常工作,必须使程序在编译时包含调试信息。调试信息包含程序里的每个变量类型和在可执行文件里的地址映射以及源代码的行号。GDB利用这些信息使源代码和机器码相关联。

在编译时用-g选项打开调试选项。

GDB支持很多的命令能实现不同的功能。这些命令从简单的文件装入到允许检查所调用的堆栈内容的复杂命令,表14-4列出了在用GDB调试时会用到的一些命令。

GDB支持很多与Unix shell程序一样的命令编辑特征。能像在bash或tcsh里那样按Tab键让GDB帮你补齐一个惟一的命令,如果不惟一的话,GDB会列出所有匹配的命令。也能用光标键上下翻动历史命令。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈