在本地模式中,call 命令用于调用过程。在 Java 模式中,call 命令用于调用方法。
您还可以使用 call 命令调用函数。要显示返回值,请使用 print 命令。
有时,调用的函数会到达断点。您可以选择使用 cont 命令继续,或使用 pop -c 终止调用。如果调用的函数导致段故障,后一种方法也很有用。
call [–lang language] [–resumeone] [–m] [+m] procedure ([parameters])
其中:
language 是被调用过程的语言。
procedure 是过程的名称。
parameters 是过程的参数。
–lang 指定被调用过程的语言,并指示 dbx 使用指定语言的调用转换。要被调用的过程先前编译时未显示调试信息并且 dbx 不知道如何传递参数的情况下,此选项很有用。
–resumeone 在调用过程时仅恢复一个线程。有关更多信息,请参见恢复执行。
当 dbxenv 变量 macro_expand 设置为 off 时,–m 指定宏扩展应用于过程和参数。
当 dbxenv 变量 macro_expand 设置为 on 时,+m 指定跳过宏扩展。
call [class-name.|object-name.] method-name ([parameters])
其中:
class-name 是 Java 类。可使用下列任意值:
使用句点 (.) 作为限定符的软件包路径;例如,test1.extra.T1.Inner
前面带有英镑标记 (#) 并使用斜杠 (/) 和美元标记 ($) 作为限定符的全路径名。例如,#test1/extra/T1$Inner。如果使用 $ 限定符,请使用引号将 class-name 引起来。
object-name 是 Java 对象的名称。
method-name 是 Java 方法的名称。
parameters 是方法的参数。