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 入门

编译调试代码

启动 dbxdbxtool 和装入程序

dbx 中运行程序

使用 dbx 调试程序

检查信息转储文件

设置断点

单步执行程序

查看调用堆栈

检查变量

查找内存访问问题和内存泄漏

退出 dbx

访问 dbx 联机帮助

2.  启动 dbx

3.  定制 dbx

4.  查看和导航到代码

5.  控制程序执行

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

索引

启动 dbxdbxtool 和装入程序

要启动 dbx,请在 shell 提示符下键入 dbx 命令:

$ dbx

要启动 dbxtool,请在 shell 提示符下键入 dbxtool 命令:

$ dbxtool

要启动 dbx 并装入要调试的程序:

$ dbx program_name

要启动 dbxtool 并装入要调试的程序:

$ dbxtool program_name

要启动 dbx 并装入 Java 代码和 C JNI 代码或 C++ JNI 代码混编的程序:

$ dbx program_name{.class | .jar}

可使用 dbx 命令启动 dbx 并通过指定进程 ID 将其连接到运行中的进程。

$ dbx - process_id

可使用 dbxtool 命令启动 dbxtool 并通过指定进程 ID 将其连接到运行中的进程。

$ dbxtool - process_id

如果不知道进程的进程 ID,请在 dbx 命令中加入 pgrep 命令来查找并连接至进程。例如:

$ dbx - `pgrep Freeway`
Reading -
Reading ld.so.1
Reading libXm.so.4
Reading libgen.so.1
Reading libXt.so.4
Reading libX11.so.4
Reading libce.so.0
Reading libsocket.so.1
Reading libm.so.1
Reading libw.so.1
Reading libc.so.1
Reading libSM.so.6
Reading libICE.so.6
Reading libXext.so.0
Reading libnsl.so.1
Reading libdl.so.1
Reading libmp.so.2
Reading libc_psr.so.1
Attached to process 1855
stopped in _libc_poll at 0xfef9437c
0xfef9437c: _libc_poll+0x0004:   ta     0x8
Current function is main
   48   XtAppMainLoop(app_context);
(dbx)

有关 dbx 命令和启动选项的更多信息,请参见dbx 命令dbx(1) 手册页,或键入 dbx -h

如果 dbx 已在运行,可使用 debug 命令装入要调试的程序,或从正在调试的程序切换到其他程序:

(dbx) debug program_name

要装入或切换到包含 Java 代码和 C JNI 代码或 C++ JNI 代码的程序:

(dbx> debug program_name{.class | .jar}

如果 dbx 已在运行,还可以使用 debug 命令将 dbx 连接到运行中的进程:

(dbx) debug program_name process_id

要将 dbx 连接到包含 Java 代码和 C JNI(Java Native Interface,Java 本地接口)代码或 C++ JNI 代码的运行中的进程:

(dbx) debug program_name{.class | .jar} process_id

有关 debug 命令的更多信息,请参见debug 命令