GOTO 命令
GOTO 命令使 z/OS® Debugger 以指定的语句标识恢复程序执行。 GOTO 关键字不能缩写。 如果您希望 z/OS Debugger 在目标位置向您返回控制权,请确保该位置存在断点。
使用说明
- 如果 SET WARNING 设置为 OFF ,并且运行时级别允许 GOTO 而不启用以下程序的编译器,那么可以使用 GOTO 命令:
- 如果使用 TEST 编译器选项的 NOEJPD 子选项进行了编译,那么将编译 COBOL 程序,而不会由编译器插入挂钩并进行优化
- 使用 Enterprise COBOL for z/OS V 5 或更高版本编译并由 Automatic Binary Optimizer for z/OS 优化的程序
- 使用 Open XL C/C++ for z/OS 编译的程序
- 当 GOTO 或 JUMPTO 命令的目标是段名称或节名称(标号)时。
- 当 GOTO 或 JUMPTO 命令的目标是段或节中的第一个语句时。
- 在调试已拆解的程序时,不能使用
GOTO命令。 - 如果在命令列表中指定了
GOTO(例如,作为IF命令或WHEN子句的主题),那么将忽略该列表中的所有后续命令。 - 如果使用最小优化编译程序,那么语句
GOTO不受限制。 - 当您使用
PLAYBACK命令重放记录的语句时,无法使用GOTO命令。 - 对于 C , C++ 和 PL/I ,编译器可以在优化期间除去语句,使用
GOTO命令指定可以在程序执行期间访问的引用或语句。 您可以发出LIST STATEMENT NUMBERS命令以确定可访问的语句。 - PL/I 允许在调用
PLITEST或CEETEST时在命令列表中使用GOTO。 - 在 PL/I 中,允许块外
GOTO。 但是,可能需要资格。 - 对于 COBOL ,
GOTO命令遵循GOTO语句的 COBOL 语言规则。 在以下情况下,可以使用GOTO命令:- 编译器在编译时插入了挂钩的 COBOL 程序。 如果要使用 Enterprise COBOL for z/OSV 4 ,请使用
TEST编译器选项的HOOK子选项来编译程序。 如果要使用以下任何编译器,请使用PATH或ALL子选项以及TEST编译器选项的SYM子选项来编译程序:- Enterprise COBOL for z/OS and OS/390®V 3
- COBOL for OS/390 & VM,版本 2
- 编译器在编译时未插入挂钩且未进行优化的 COBOL 程序。 如果要使用 Enterprise COBOL for z/OSV 4 ,请使用
TEST编译器选项的NOHOOK子选项来编译程序。 如果您正在使用以下任何编译器,请使用TEST编译器选项的NONE子选项来编译程序:- Enterprise COBOL for z/OS and OS/390V 3 Release 2 或更高版本
- Enterprise COBOL for z/OS and OS/390V 3 Release 1 ,已安装 APAR PQ63235
- COBOL for OS/390 & VMV 2 Release 2
- COBOL for OS/390 & VMV 2 Release 1 ,已安装 APAR PQ63234
- 编译器在编译时未插入挂钩但进行了优化的 COBOL 程序。 必须使用 Enterprise COBOL for z/OSV 4 编译程序,并指定
TEST编译器选项的EJPD和NOHOOK子选项。 指定EJPD子选项可能会导致优化有一些损失。 - 对于 Enterprise COBOL for z/OS 版本 5 ,程序始终在不由编译器插入挂钩的情况下进行编译。 如果将 TEST 编译器选项与任何级别的 OPT 编译器选项结合使用,那么建议使用 TEST 编译器选项的 EJPD 子选项。
- 编译器在编译时插入了挂钩的 COBOL 程序。 如果要使用 Enterprise COBOL for z/OSV 4 ,请使用
- 如果在 AT APPEARANCE 断点、AT LOAD 断点或 AT DELETE 断点处停止,那么无法使用此命令。
示例
- 在语句 23 处恢复执行,其中语句 23 位于当前活动块中。
如果语句 23 没有断点,那么 z/OS Debugger 将从语句 23 运行,直到命中断点为止。GOTO 23; - 在语句 45 处恢复执行,其中语句 45 位于当前活动块中。
AT 45 GOTO 45
请参阅以下主题,以获取与本主题中讨论的材料相关的更多信息。
- 相关任务
- IBM® z/OS Debugger 用户指南
- 相关参考
- statement_id
