解释事务转储
描述了事务转储的内容,并提供了有关查找对调试事务有用的信息的指导。
关于此任务
转储实用程序 DFHDU710的作业日志有时会在事务转储开始时显示,具体取决于调用作业的方式。 您可以忽略它,因为它不包含可用于调试的任何信息。
过程
- 首先要查找的是症状字符串。症状字符串告诉您有关事务转储情况的信息。 例如,它可能显示已执行转储,因为事务异常终止,异常终止代码为 ASRA。
如果您将导致转储的问题提交到 IBM 支持中心,那么他们可以使用症状字符串在 RETAIN 数据库中搜索与其相似的问题。
- 查找 CICS® Transaction Server for z/OS® 级别。它向您显示在执行事务转储时正在执行的 CICS 级别。
- 事务环境摘要为您提供了在执行转储时事务环境的格式化摘要。
- 根据事务是在远程还是本地异常终止,您将在事务转储中看到不同的信息,如下所示:
- 如果事务远程异常结束 (异常结束最初发生在远程分布式程序链接 (DPL) 服务器程序中) ,并且正在本地系统上重新发出异常结束,那么将显示一条消息来指示此情况。 此消息包含将异常终止传递到本地系统的系统的 SYSID。 此信息取自事务异常终止控制块。
- 如果事务转储是为了响应具有异常终止代码 AICA , ASRA , ASRB 或 ASRD 的本地异常终止:
- 从转储数据集格式化 PSW。 它属于发生异常结束时正在执行的程序。 它取自事务异常终止控制块。
- 还提供了一组属于在检测到错误时正在执行的程序的寄存器。 它们从事务异常终止控制块中获取。
- 如果事务在本地异常终止,并且异常终止代码为 ASRA 或 ASRB:
- 格式化在异常终止时生效的执行密钥。 它取自事务异常终止控制块。
- CICS 格式化程序正在其中执行的空间,基本空间或子空间。 如果未启用事务隔离,那么程序将始终在基本空间中执行。
- 如果事务远程异常结束 (异常结束最初发生在远程分布式程序链接 (DPL) 服务器程序中) ,并且正在本地系统上重新发出异常结束,那么将显示一条消息来指示此情况。
- 如果事务发出了任何 EXEC 命令,那么将显示一组寄存器。 这些是最近发出的 EXEC 命令中的寄存器。
- 事务转储中的下一个事项是整个 TCA。 这包含与转储相关的事务的相关信息。 请注意,用户区域位于系统区域之前。
任务控制区的系统区域是单独格式化的,因为它可以由 CICS单独寻址。 它包含与任务相关的系统信息,并且通常可以成为调试信息的宝贵来源。
- 将格式化与事务相关的任何事务工作区 (如果存在)。
- EXEC 接口结构 (EIS) 包含有关特定于 CICS的执行接口组件的事务和程序的信息。
- 系统 EXEC 接口块 (SYSEIB) 仅由使用 SYSEIB 选项的程序使用。 如果在事务转储中看到此情况,请阅读 定义转换程序选项
- EXEC 接口用户结构 (EIUS) 包含必须驻留在用户密钥存储器中的执行接口组件信息。
- DFHEIB 包含有关将 EXEC 请求从程序传递到 CICS以及在程序与 CICS之间传递数据的信息。 EIBFN 字段特别重要,因为它显示程序要发出的最后一个 EXEC 命令的类型。 有关 EIBFN 可包含的值的编程信息,请参阅 EXEC CICS 命令的函数代码。
- 内核堆栈条目包含内核代表内核链接堆栈上的程序和子例程保存的信息。 如果将问题提交到 IBM 支持中心,那么他们可能需要使用堆栈条目来查找故障原因。
- 公共系统区域 (CSA) 是 CICS使用的其中一个主控制区域。 它包含与整个系统以及与调用事务转储时运行的任务相关的信息。 对于调试应用程序问题和系统问题都非常有用。 您无法访问程序中 CSA 中的字段。 尝试执行此操作会导致事务异常终止,异常终止代码为 ASRD。
公共系统区域可选功能部件列表 (CSAOPFL) (CSA 的扩展) 包含 CICS 可选功能部件的地址。
- 缺省情况下,会格式化缩写格式的跟踪表。 您可以通过在 DFHDU710 作业中指定 NOABBREV 参数来对其进行抑制。 将格式化从内部跟踪表复制的跟踪条目的 "每行一个条目" 摘要。如果您为任务选择了 EI level-1 和 PC level-1 跟踪,那么可以很轻松地识别任务发出的最后一个 CICS 命令。 此过程在 找到最后一个命令或语句中概述。
- 在缩略格式跟踪表之后是相应的扩展格式跟踪表。 缺省情况下会对其进行格式化。 您可以通过在 DFHDU710 作业中指定 NOFULL 参数来对其进行抑制。 它包含更多详细信息,但您可以使用缩写的跟踪来获取所需的所有信息。
- 公共工作区 (CWA) 是安装定义的工作区,供所有程序使用,如果存在,那么将对其进行格式化。
- 您可能会找到转储的多个区域,这些区域描述了可用于调试目的的事务存储器。有关要查找的内容的信息,请参阅 事务存储器。
- TCTTE (终端控制表终端条目) 包含有关作为事务主要设施的终端的信息。 如果事务面向终端,那么通常会找到一个用于事务的 TCTTE。 对于 "daisy 链式" 事务,您可能会找到多个事务。要查看任务的 TIOA ,请在 TCTTE 的 TCTTEDA 字段中找到地址。
- 当前事务的程序信息显示尚未返回的事务的所有链接程序的摘要信息,包括装入点,入口点和长度。 其次是其中每个程序的程序存储器。 在这里,您可以找到寄存器 14 和 PSW 的指示信息,从而找到程序中的故障点。 有关如何执行此操作的详细信息,请参阅 查找最后一个命令或语句。
还会显示其他程序管理器控制块,包括活动程序的资源定义信息,以及此事务装入但尚未释放的任何程序的装入列表元素和程序存储器。
对于每个程序级别,您可以找到当前通道 (如果有) ,链接级别创建的其他通道及其所有容器。 还将显示每个容器的最多 32K 数据。 请注意,这是数据的副本,而不是数据的实际地址。
对于每个任务,您可以找到事务通道 (如果有) 及其所有容器。 还将显示每个容器的最多 32K 数据。 请注意,这是数据的副本,而不是数据的实际地址。
- 在事务转储中找到的最终项是模块索引。 这将显示检测到错误时存储器中的所有模块及其地址。