Sun Studio 12 Update 1:使用 dbx 调试程序

Java 模式语法

下列特定语法在 Java 模式中有效。

trace -file file_name

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

trace at line_number

跟踪 line_number

trace at file_name.line_number

跟踪指定的源码 file_name.line_number

trace in class_name.method_name

跟踪对 class_name.method_name 的调用及其返回。

trace in class_name.method_name([ parameters])

跟踪对 class_name.method_name([parameters]) 的调用及其返回。

trace inmethod class_name.method_name

在调用任何名为 class_name.method_name 的方法时跟踪。

trace inmethod class_name.method_name[( parameters)]

在调用任何名为 class_name.method_name [(parameters)] 的方法时跟踪。

其中:

class_name 是 Java 类的名称,可以使用包路径(使用句点 (.) 作为限定符,例如 test1.extra.T1.Inner),也可以使用完整路径名(前面加磅符号 (#),并使用斜线 (/) 和美元符号 ($) 作为限定符,例如 #test1/extra/T1$Inner)。如果使用 $ 限定符,请使用引号将 class_name 引起来。

file_name 是文件名。

line_number 是源代码行的编号。

method_name 是 Java 方法的名称。

parameters 是方法的参数。

下列修饰符在 Java 模式中有效。

-if condition_expression

只有在 condition_expression 的求值求值结果为 true 时,才会发生指定事件并打印跟踪。

-count number

从 0 开始,每次发生事件时,计数器的计数便会增加。达到 number 时,便打印跟踪,且计数器重置为 0。

-count infinity

从 0 开始,每次发生事件时,计数器的计数便会增加。执行没有停止。

-temp

创建发生了事件且打印了跟踪时会删除的临时断点。如果 -temp-count 一起使用,则仅当计数器重置为 0 时才删除断点。

-disable

创建禁用状态的断点。

有关所有事件的列表和语法,请参见设置事件规范