JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:使用 dbx 调试程序     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  dbx 入门

2.  启动 dbx

3.  定制 dbx

4.  查看和导航到代码

5.  控制程序执行

6.  设置断点和跟踪

设置断点

在源代码行设置 stop 断点

在函数中设置 stop 断点

在 C++ 程序中设置多个断点

在不同类的成员函数中设置断点

在类的所有成员函数中设置断点

在非成员函数中设置多个断点

在对象中设置断点

设置数据更改断点

访问地址时停止执行

变量更改时停止执行

条件停止执行

在断点上设置过滤器

将函数调用的返回值用作过滤器

在局部变量上设置数据更改断点

将过滤器与条件事件配合使用

跟踪执行

设置跟踪

控制跟踪速度

将跟踪输出定向到文件

在行中设置 when 断点

在动态装入的库中设置断点

列出和清除断点

列出断点和跟踪

使用处理程序 ID 号删除特定断点

启用和禁用断点

效率方面的考虑

7.  使用调用堆栈

8.  求值和显示数据

9.  使用运行时检查

10.  修复并继续

11.  调试多线程应用程序

12.  调试子进程

13.  调试 OpenMP 程序

14.  处理信号

15.  使用 dbx 调试 C++

16.  使用 dbx 调试 Fortran

17.  使用 dbx 调试 Java 应用程序

18.  在机器指令级调试

19.  将 dbx 与 Korn Shell 配合使用

20.  调试共享库

A.  修改程序状态

B.  事件管理

C.  宏

D.  命令参考

索引

跟踪执行

跟踪会收集程序中发生情况的相关信息并显示这些信息。程序执行到使用 trace 命令创建的断点处时将停止,此时会发送事件特定的 trace 信息行,然后程序继续执行。

跟踪会显示即将执行的每个源代码行。除最简单的程序以外,此跟踪都会产生大量输出。

一种更加有用的跟踪是应用过滤器显示程序中事件的相关信息。例如,可以跟踪每个函数调用、给定名称的每个成员函数、类中的每个函数或每次从函数的退出。还可以跟踪对变量的更改。

设置跟踪

可以通过在命令行中键入 trace 命令设置跟踪。trace 命令的基本语法如下:

trace event-specification [ modifier ]

有关 trace 命令的完整语法,请参见trace 命令

跟踪提供的信息取决于与之关联的事件类型(请参见设置事件规范)。

控制跟踪速度

通常,跟踪输出的显示速度太快。可以使用 dbx 环境变量 trace_speed 控制输出每个跟踪后的延迟时间。缺省延迟时间为 0.5 秒。

要设置跟踪期间每个代码行执行间隔时间(秒),请键入:

dbxenv trace_speed number

将跟踪输出定向到文件

可以使用 -file filename 选项将跟踪输出定向到文件。例如,以下命令可将跟踪输出定向到文件 trace1

(dbx) trace -file trace1

要将跟踪输出恢复为标准输出,请使用 - 表示 filename。跟踪输出始终附加到 filename 后面。每当显示 dbx 提示以及应用程序退出时都会刷新。在执行新的运行或连接后继续运行时总会重新打开 filename