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.  控制程序执行

运行程序

将 dbx 连接到正在运行的进程

从进程中分离 dbx

单步执行程序

单步执行

步入函数

继续执行程序

在指定行恢复程序执行

调用函数

调用安全性

使用 Ctrl+C 停止进程

6.  设置断点和跟踪

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.  命令参考

索引

将 dbx 连接到正在运行的进程

可能需要调试已经运行的程序。如果属于下列情况,便需要连接正在运行的进程:

通过将程序的 process_id 编号用作 dbx debug 命令的一个参数,可以将 dbx 连接到正在运行的程序。

程序调试完毕后,便可以使用 detach 命令来解除 dbx 对程序的控制,而无需终止进程。

如果在将 dbx 连接到正在运行的进程后退出 dbx,dbx 会在终止前隐式分离。

要将 dbx 连接到独立于 dbx 运行的程序,可以使用 attach 命令或 debug 命令。

要将 dbx 连接到已经运行的进程,请键入:

(dbx) debug program_name process_id

或

(dbx) attach process_id

可以用一个 –(破折号)代替 program_name;dbx 将自动查找与进程 ID 相关联的程序并将其载入。

有关更多信息,请参见debug 命令和attach 命令。

如果 dbx 未运行,可通过键入以下命令来启动 dbx:

% dbx program_name process_id

dbx 连接到程序后,程序便停止执行。将其他程序装入 dbx 时,可以检查该程序。可以使用任何事件管理或进程控制命令来调试该程序。

如果在调试现有进程时将 dbx 连接到一个新进程,会出现下列情况:

如果要将 dbx 连接到的进程由于 SIGSTOP 信号、SIGTSTOP 信号、SIGTTIN 信号或 SIGTTOUT 信号而停止,则连接会成功,并显示类似以下的消息:

dbx76: warning: Process is stopped due to signal SIGSTOP

该进程是可检查的,但是要恢复它,您需要使用 cont 命令向其发送 SIGCONT 信号:

(dbx) cont -sig cont

可以对具有某些异常的连接的进程使用运行时检查。请参见对连接的进程使用运行时检查。