Oracle® Solaris Studio 12.4:使用 dbx 调试程序

退出打印视图

更新时间: 2015 年 1 月
 
 

启动 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 命令