调试提交到作业队列的批处理作业
使用单独的作业来调试提交到作业队列的另一个批处理作业,允许您将该批处理作业置于调试方式,并在作业开始处理之前设置断点和跟踪。
使用以下步骤来调试要提交到作业队列的批处理作业:
- 使用 Submit Job (SBMJOB) 命令或使用 HOLD (*YES) 自动提交作业的程序提交批处理作业。
SBMJOB HOLD(*YES) - 确定使用 Work with Submitted Jobs (WRKSBMJOB) 命令或 Work with Job Queues (WRKJOBQ) 命令分配给作业的限定作业名 (number/user/name)。 当命令完成处理时, Submit
Job (SBMJOB) 命令还会在完成消息中显示名称。
WRKJOBQ (Work With Job Queue) 命令显示在特定作业队列中等待启动的所有作业。 您可以通过选择作业的选项 5 来显示此屏幕中的作业名。
- 从计划用于调试批处理作业的屏幕输入 Start Service Job (STRSRVJOB) 命令,如下所示:
STRSRVJOB JOB(qualified-job-name) - 输入 STRDBG 命令并提供要调试的所有程序的名称。 当作业在作业队列上等待时,不能输入其他调试命令。
- 使用 Release Job Queue (RLSJOBQ) 命令来释放作业队列。 当作业准备好启动时,将显示一个屏幕,指示您可以开始调试该作业。 按 F10 以显示 "命令项" 屏幕。
- 使用 "命令输入" 屏幕来输入任何调试命令,例如 Add Breakpoint (ADDBKP) 或 Add Trace (ADDTRC) 命令。
- 按 F3 以离开 "命令输入" 屏幕,然后按 Enter 键以启动批处理作业。
- 当作业在断点处停止时,您将看到正常断点显示。 当作业完成时,不能添加断点和跟踪,也不能显示或更改变量。 但是,您可以使用 Display Trace Data (DSPTRCDTA) 命令显示任何跟踪数据。
- 如果要调试另一个批处理作业,请先使用 End Debug (ENDDBG) 命令结束调试,然后使用 End Servicing Job (ENDSRVJOB) 命令结束为作业提供服务。