Oracle® Developer Studio 12.5:概述

退出打印视图

更新时间: 2016 年 6 月
 
 

用于调试应用程序的工具

Oracle Developer Studio 附带 dbx 调试器,可以帮助您检测应用程序中的错误。

dbx 是一个交互式源代码级命令行调试工具。可以使用它来以可控方式运行 C、C++ 或 Fortran 程序以及检查已停止程序的状态。使用 dbx 可以完全控制程序的动态执行过程,包括收集性能和内存使用情况数据、监视内存访问及检测内存泄漏。

    dbx 允许您执行以下任务:

  • 检查已崩溃程序的信息转储文件

  • 设置断点

  • 单步执行程序

  • 检查调用堆栈

  • 对变量和表达式求值

  • 使用运行时检查来发现内存访问问题和内存泄漏

  • 使用“修复并继续”来修改和重新编译源文件并继续执行,而不重新生成整个程序

您可以在命令行、以图形方式通过 Oracle Developer Studio IDE 或者通过称为 dbxtool 的单独图形界面来使用 dbx 调试器。

命令行中的 dbx

启动 dbxdbx 命令的基本语法如下:

dbx [options] [program-name|-] [process-ID]

启动 dbx 会话并装入要调试的程序 test

% dbx test

启动 dbx 会话并将其连接到进程 ID 为 832 的正在运行的程序:

% dbx - 832

dbx 会话启动时,dbx 装入您正在调试的程序的信息。然后 dbx 以就绪状态等待访问程序的主程序块,如 C 或 C++ 程序中的 main() 函数。将显示 (dbx) 命令提示符。

您可以在 (dbx) 提示符下键入命令。一般来说,应先键入 stop in main 这样的命令来设置断点,然后键入 run 命令运行程序:

(dbx) stop in main
(4) stop in main
(dbx) run
Running: quote_1 
(process id 5685)
(dbx)

执行过程在断点处停止时,可以键入 stepnext 这样的命令单步执行代码,键入 printdisplay 来对表达式和变量求值。

有关 dbx 实用程序的命令行选项的信息,请参见 dbx(1) 手册页。

有关使用 dbx 的完整信息(包括命令参考部分),请参见Oracle Developer Studio 12.5:使用 dbx 调试程序。还可以在 (dbx) 命令行键入 help 来了解有关 dbx 命令的信息。

有关新功能和已更改功能的列表,请参见Oracle Developer Studio 12.5 发行版的新增功能

有关当前发行版的 dbx 中的已知问题、限制和不兼容性,请参见Oracle Developer Studio 12.5:发行说明

IDE 中的 dbx

您可以在 Oracle Developer Studio IDE 中使用 dbx,方法为打开项目,在源代码中创建断点,然后单击 "Debug"(调试)按钮。IDE 允许您使用菜单选项和按钮来分步执行程序,并提供一组完整的调试窗口。

与生成应用程序一样,IDE 将应用程序作为一个项目来调试。此外,还可以使用 IDE 调试不与 IDE 项目关联的可执行文件。

在下面的屏幕抓图中,dbx 中正运行一个 IDE 样例项目。您可以使用 "Debug"(调试)菜单中的命令或 IDE 窗口右上部的按钮来控制调试器。使用 "Debug"(调试)命令和按钮时,IDE 向 dbx 发出命令,并在各个调试窗口中显示输出。

image:正在运行 dbx 调试器的 Oracle Developer Studio IDE 的屏幕抓图

在图中,调试器在一个断点处停止,"Output"(输出)窗口显示程序交互。有些调试器窗口(如 "Variables"(变量)和 "Breakpoints "(断点)窗口)也显示出来,但并未被选中。您可以从 "Window"(窗口)-> "Debugging"(调试)菜单中选择,以打开更多调试窗口。其中一个调试窗口是 "Debugger Console"(调试器控制台)窗口,其中显示与 dbx 的交互。还可以在 "Debugger Console"(调试器控制台)窗口的 (dbx) 提示符下键入命令。

有关在 IDE 中使用 dbx 的更多信息,请参见 IDE 中的集成帮助和Oracle Developer Studio 12.5:IDE 快速入门教程

dbxtool 中的 dbx

您还可以通过 dbxtool 来使用 dbx,该工具是一个独立于 IDE 但具有相似的调试窗口和编辑器的图形工具。与 IDE 不同的是,dbxtool 不使用项目,您可以使用它来调试任何 C、C++ 或 Fortran 可执行文件或信息转储文件。

要启动 dbxtool,请键入:

% dbxtool executable-name

此外,还可以忽略可执行文件名称,而从 dbxtool 内指定。

同 IDE 一样,您可以在 dbxtool 中单击工具栏按钮或使用 "Debug"(调试)菜单选项来向 dbx 发出命令。还可以在 "Debugger Console"(调试器控制台)窗口的 (dbx) 提示符下键入命令。

在下图中,正在 dbxtool 中对 quote_1 程序运行 dbx。已选择 "Debugger Console"(调试器控制台)窗口,您可以看到 (dbx) 提示符以及为响应用户选择由 dbxtool 所输入的命令。

image:正在运行 dbx 调试器的 dbxtool 的屏幕抓图

有关使用 dbxtool 的信息,请参见 dbxtool(1) 手册页以及 dbxtool 中的集成帮助。Oracle Developer Studio 12.5:dbxtool 教程中介绍了如何使用 dbxtool