JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3 概述     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

Oracle Solaris Studio 12.3 概述

Oracle Solaris Studio 软件简介

Oracle Solaris Studio 的开发者工作流程

Oracle Solaris Studio IDE

Oracle Solaris Studio 编译器

C 编译器

cc 命令语法

C 文档

C++ 编译器

CC 命令语法

C++ 文档

Fortran 95 编译器

f95 命令语法

Fortran 文档

C/C++/Fortran 库

用于并行编程的 OpenMP 3.1

适合密集计算程序的 Sun 性能库

用于生成应用程序的 dmake 实用程序

用于调试应用程序的工具

命令行中的 dbx

IDE 中的 dbx

dbxtool 中的 dbx

用于验证应用程序的工具

用于检测内存错误的 Discover 工具

用于度量代码覆盖的 Uncover 工具

用于集成错误检查的代码分析器工具

用于调整应用程序性能的工具

性能分析器工具

使用收集器收集性能数据

使用性能分析器检查性能数据

使用 er_print 实用程序检查性能数据

使用线程分析器分析多线程应用程序性能

简单性能优化工具 (Simple Performance Optimization Tool, SPOT)

DLight 中的分析工具

IDE 中的分析工具

更多信息

用于调试应用程序的工具

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

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

dbx 允许您执行以下任务:

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

有关在不同用户界面中使用 dbx 的详细信息,请参见以下部分:

命令行中的 dbx

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

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 Solaris Studio 12.3:使用 dbx 调试程序》。还可以在 (dbx) 命令行键入 help 来了解有关 dbx 命令的信息。要获得当前版本 dbx 中的新功能和已更改功能、软件更正、已知问题、限制以及不兼容性的列表,请参见《Oracle Solaris Studio 12.3 发行版的新增功能》

IDE 中的 dbx

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

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

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

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

有关在 IDE 中使用 dbx 的详细信息,请参见 IDE 中的集成帮助和《Oracle Solaris Studio 12.3 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 Solaris Studio 12.3:dbxtool 教程》中介绍如何使用 dbxtool