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 连接到正在运行的进程后退出 dbxdbx 会在终止前隐式分离。

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

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

(dbx) debug program_name process_id

(dbx) attach process_id

可以用一个 –(破折号)代替 program_namedbx 将自动查找与进程 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

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