使用延迟调试方式来延迟调试会话的启动
缺省情况下, z/OS® Debugger 在应用程序的初始装入模块的第一个条目编译单元处启动调试会话。 但是,在某些情况下,问题出在应用程序内的某个编译单元 (例如, prog1) 中,需要进行调试。
当前,在调试会话启动时输入 AT ENTRY prog1 和 GO 命令。
但是,在某些复杂应用程序中,在 prog1 出现之前可能需要一些很长时间。 在这种情况下,您可以使用延迟调试方式来延迟调试会话的启动,直到 z/OS Debugger 识别 prog1为止。
z/OS Debugger 在延迟调试方式期间处于休眠状态,并且仅监视几个事件。 当 z/OS Debugger 识别 prog1时, z/OS Debugger 将退出延迟调试方式,完成初始化并启动调试会话。
- IBM® z/OS Debugger 实用程序的选项 B: 延迟调试概要文件
- 远程 IDE 中的 z/OS Debugger 概要文件 视图。
- 使用 调试概要文件服务 API 进行概要文件管理的任何应用程序。
- 使用 EQAOPTS DLAYDBG 命令
- 为 Language Environment 程序1指定简单的 TEST 运行时选项。
- DLAYDBGCND
您可以使用此命令来指示是否希望 z/OS Debugger 以延迟调试方式监视条件事件。
缺省值为
DLAYDBGCND,ALL。- DLAYDBGDSN
- 延迟调试概要文件数据集命名模式。
缺省值为 userid。DLAYDBG.EQAUOPTS。
如果使用简单
TEST运行时选项开启延迟调试方式,那么将忽略此命令。 在这种情况下,延迟调试概要文件数据集命名模式是使用 调试概要文件服务 API的参数设置的。 - DLAYDBGTRC
- 延迟调试模式匹配跟踪消息级别。
此消息级别用于生成错误消息和参考消息以进行调试。
缺省值为
0,表示没有跟踪消息。 - DLAYDBGXRF
您可以使用此命令来指示您希望 z/OS Debugger 在构造延迟调试概要文件数据集名称时使用交叉引用文件或终端接口管理器存储库来查找用户标识。
当使用通用标识启动 IMS 事务时,可以在 IMS 环境中使用此命令。 通过RES存储库选项,当存储过程在通用标识下运行时,也可以在 Db2 存储过程环境中使用该命令。
请参阅 使用终端接口管理器调试在通用用户标识下运行的任务 ,以获取使用 DLAYDBGXRF 的 REPOSITORY 选项所需的步骤的描述。
z/OS Debugger 完成初始化后,无法重新激活延迟调试方式。
用法说明
- 延迟调试方式仅适用于非CICS 环境。
- 延迟调试方式适用于使用 Enterprise COBOL for z/OS 和 Enterprise PL/I for z/OS 编译器编译的程序,使用 z/OS V2.1 XL C/C++ 编译器和非语言环境程序编译的 C 函数。 非语言环境编译单元必须是任务中的初始程序或 LINK 或 LINKX 宏的目标,才有资格进行延迟调试模式匹配。
有关 C 函数的编译时和运行时需求,请参阅 C 的延迟调试方式需要 FUNCEVENT (ENTRYCALL) 编译器子选项。
- 应用程序的主程序必须是 Language Environment ® 程序 或使用 EQANMDBG 启动的非 Language Environment 程序。
- 用于在应用程序开头启动 z/OS Debugger 的
TEST运行时选项必须在第三个子选项中包含PROMPT,例如TEST(ALL,*,PROMPT,*)。 - 如果用户出口方法用于在应用程序开头启动 z/OS Debugger ,那么用户出口数据集应具有 "
*" 作为程序名列表中的名称之一,以便模式匹配始终成功,并且将 TEST 运行时选项返回到 Language Environment。此外,用户出口数据集的名称必须与延迟调试概要文件数据集的名称不同。
- 使用 "延迟调试概要文件" 来设置延迟调试概要文件数据集。 您可以在 IBM z/OS Debugger 实用程序中的选项 B 下找到此工具。
- 要在 31 位和 64 位 COBOL 程序或 31 位和 64 位 PL/I 程序之间进行互操作,请在调试概要文件中指定 31 位和 64 位程序的装入模块和编译单元对。
- 要在 31 位 COBOL 和 64 位 Java 程序之间进行互操作,请在调试概要文件中指定 31 位 COBOL 程序的装入模块和编译单元对。 更多信息,请参阅 《编译、链接和运行与Java互操作的非OO COBOL应用程序 》。
- 要在 31 位 PL/I 和 64 位 Java 程序之间进行互操作,请在两者之间使用 64 位 PL/I 程序。