跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:使用 dbx 调试程序 Oracle Solaris Studio 12.3 Information Library (简体中文) |
when 命令用于在发生指定事件时执行命令。
如果 dbx 处于 Java 模式下,而您要在本地代码中设置 when 断点,请使用 joff 命令(请参见joff 命令)切换到本地模式,或为 when 命令添加前缀 native(请参见native 命令)。
如果 dbx 处于 JNI 模式下,而您要在 Java 代码中设置 when 断点,请为 when 命令添加前缀 java(请参见java 命令)。
when 命令的通用语法如下:
when event_specification [modifier]{command; ... }
发生指定事件时,执行上述命令。在 when 命令中禁止使用以下命令:
attach
debug
next
replay
rerun
restore
run
save
step
如果 cont 命令不带选项,则会忽略该命令。
下列特定语法在本地模式中有效:
达到 line_number 时,执行 command。
调用 procedure 时,执行 command。
其中:
line_number 是源代码行的编号。
command 是命令名。
procedure 是过程名。
下列特定语法在 Java 模式中有效。
达到源码 line_number 时,执行命令。
达到 file_name.line_number 时,执行命令。
调用 class_name.method_name 时,执行命令。
调用 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 是方法的参数。
有关所有事件的列表和语法,请参见设置事件规范。
有关在发生指定的低级别事件时执行相应命令的信息,请参见wheni 命令。