when 命令用于在发生指定事件时执行命令。
如果 dbx 处于 Java 模式下,而您要在本地代码中设置 when 断点,请使用 joff 命令切换到本地模式,或为 when 命令添加前缀 native。
如果 dbx 处于 JNI 模式下,而您要在 Java 代码中设置 when 断点,请为 when 命令添加前缀 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 时,执行命令。
达到 filename.line-number 时,执行命令。
调用 class-name.method-name 时,执行命令。
调用 class-name.method-name([parameters]) 时,执行命令。
class-name 是 Java 类。可使用下列任意值:
使用句点 (.) 作为限定符的软件包路径;例如,test1.extra.T1.Inner
前面带有英镑标记 (#) 并使用斜杠 (/) 和美元标记 ($) 作为限定符的全路径名。例如,#test1/extra/T1$Inner。如果使用 $ 限定符,请使用引号将 class-name 引起来。
filename 是文件名。
line-number 是源代码行的编号。
method-name 是 Java 方法的名称。
parameters 是方法的参数。
有关所有事件的列表和语法,请参见设置事件规范。
有关对指定的低级别事件执行命令的信息,请参见wheni 命令。