跟踪快速参考

此参考总结了针对 CICS® 问题确定所需的不同类型跟踪的操作和跟踪选项。 它还包含指向某些常用 z/OS® 跟踪的指示信息的链接。

CICS 辅助跟踪

使用 CICS 辅助跟踪 来收集大量跟踪数据或获取不会覆盖跟踪条目的 CICS 活动的跟踪。

启动 CICS 辅助跟踪
如果在 CICS 启动时发生问题,请使用以下系统初始化表 (SIT) 参数在 CICS 初始化时设置跟踪状态:
  • SYSTR=ON
  • AUXTR=ON
  • AUXTRSW=否
  • STNTR=1 为所有 CICS 组件开启级别 1 跟踪
  • STNTRxx=1 ,其中 xx 是特定组件缩写
如果在 CICS 启动后发生问题,请使用 CETR 来控制跟踪。 在初始 CETR 屏幕上输入以下值:

Auxiliary Trace Status ===> Started
Auxiliary Switch Status ==> Next or NO
Main System Trace Flag ==> On

输入 PF4 以显示 CICS 组件的列表。 在标题为 "标准" 的列中,根据所需的跟踪级别,在所有组件的右侧输入 11-2 。 按 Enter 键以应用更改,然后按 PF3 以退出组件屏幕。

重新创建故障或问题
通过重复先前执行的一系列操作来重新创建故障或问题。
停止 CICS 辅助跟踪
使用 CETR 并在 "辅助跟踪状态" 中输入 Stopped

Auxiliary Trace Status ===> Stopped
格式化和解释 CICS 辅助跟踪
使用跟踪实用程序打印程序(DFHTUxxx)格式化跟踪数据,其中xxx代表您用于创建跟踪的 CICS 版本(例如, CICS TS beta 对应DFHTU760 )。

有关详细信息,请参阅 格式化和打印跟踪条目

CICS 内部跟踪

使用 CICS 内部跟踪 进行首次故障数据捕获 (FFDC)。 CICS 内部跟踪表位于 64 位存储器中。 在繁忙的系统上,大型跟踪表可能在几秒钟内填满。 因此,必须为 CICS 内部跟踪表设置合适的大小。 您可以使用 TRTABSZ 系统初始化参数在 CICS 启动时指定内部跟踪表的大小。 缺省大小为 12288 KB (12 MB)。 可以为内部跟踪表的大小设置的值范围取决于 CICS 系统的版本。 请参阅 TRTABSZ 系统初始化参数 以获取更多信息。

启动 CICS 内部跟踪
如果在 CICS 启动时发生问题,请使用以下 SIT 参数在 CICS 初始化时设置跟踪状态:
  • INTTR=ON
  • SYSTR=ON
  • STNTR=1 为所有 CICS 组件开启级别 1 跟踪
  • STNTRxx= 1 ,其中 xx 是特定组件缩写
  • TRTABSZ=12288
如果在 CICS 启动后发生问题,请使用 CETR 来控制跟踪。 在初始 CETR 屏幕上输入以下值:

Internal Trace Status ===> Started
Internal Trace Table Size ===> 12288
Main System Trace Flag ==> On

输入 PF4 以显示 CICS 组件的列表。 在标题为 "标准" 的列中,根据所需的跟踪级别,在所有组件的右侧输入 11-2 。 按 Enter 键以应用更改,然后按 PF3 以退出组件屏幕。

重新创建故障或问题
通过重复先前执行的一系列操作来重新创建故障或问题。
停止 CICS 内部跟踪
使用 CETR 并在 "内部跟踪状态" 中输入 Stopped

Internal Trace Status ===> Stopped
格式化和解释 CICS 内部跟踪
通过以下两种方法之一来格式化内部跟踪表:
  • 从 CICS 系统转储,使用 IPCS 和 CICS 打印转储出口 DFHPDxxx

    指定 TR=1 以选择缩写跟踪,指定 TR=2 以选择完整跟踪。 通过指定 TRS 参数来选择 CICS 内部跟踪的部分。

    例如,您可以在使用 IPCS 时输入以下内容:
    1. 输入 0 以显示 "缺省值" 面板。
    2. 输入转储数据集名称:
      Source ==> DSNAME('dump.dataset.name')
    3. 输入 = 6 以显示 "命令" 面板。
    4. 输入下列其中一个命令:
      注: 根据 CICS 发行版更新 DFHPDxxx。
      要选择缩写跟踪,请执行以下操作:
      ==> VERBX DFHPD760 'TR=1'
      要选择完整跟踪,请执行以下操作:
      ==> VERBX DFHPD760 'TR=2,TRS=<TASKID=nnnnn>'
    5. 输入 N 以响应以下消息:
      BLS18160D 是否允许转储访问使用摘要转储数据?
  • 从事务转储,使用 CICS 转储实用程序 DFHDUxxx

    缺省操作是将以缩写形式打印跟踪,后跟完整格式。 DFHDUxxx 将仅格式化对其执行事务转储的任务的跟踪条目。

    有关详细信息,请参阅 格式化事务转储解释事务转储

提示: 您还可以使用 SET TRACEDESTSET TRACEFLAGSET TRACETYPE 命令打开或关闭 CICS 内部跟踪。

CICSPlex SM WLM 跟踪

使用来自路由区域的 CICSPlex ® SM 工作负载管理器 (WLM) 跟踪来确定发生路由故障的原因。

启动 WLM 跟踪
Step1. 在 CMAS 和路由区域中启动辅助跟踪
如果在 CICS 启动时发生问题,请使用 SIT 参数在 CICS 初始化时设置跟踪状态:
  • INTTR=ON
  • TRTABSZ=12288
  • CMAS 中的 SYSTR=OFF
  • 路由区域中的 SYSTR=ON
  • USERTR=ON (CICSPlex SM 写入用户跟踪条目)
  • AUXTR=ON
  • AUXTRSW=否
如果在 CICS 启动后发生问题,请使用 CETR 来控制跟踪。 在初始 CETR 屏幕上输入以下值:

Internal Trace Status ===> Started
Internal Trace Table Size ===> 12288
Main System Trace Flag ==> Off in the CMAS and On in the routing region
Main User Trace Flag ==> On
Auxiliary Trace Status ===> Started
Auxiliary Switch Status ==> NO

Enter 键以应用更改,然后按 PF3 以退出组件屏幕。

有关更多信息,请参阅 在 CICS 运行时设置跟踪标志和跟踪目标

第 2 步, 在 CMAS 中开启 WLM 跟踪
  1. 从 WUI 主菜单中,单击 CICSPlex SM 操作视图
  2. 从 CICSPlex SM 操作视图菜单中,单击 CICSplex 已知的 MAS
  3. 从此视图 (EYUSTARTMAS.TABULAR) ,查找要跟踪的路由区域的活动 MAS 。
  4. 单击此区域的活动 CMAS 名称以显示 CMAS 详细信息。
  5. 滚动到底部,然后单击 "跟踪详细信息" 链接以显示 CMAS 详细信息 (EYUSTARTCMAS.TRACE) 视图。
  6. 向下滚动到 "工作负载管理" 跟踪标志,然后输入 30-31。
  7. 单击 应用更改
第 3 步, 在 MAS 中开启 WLM 跟踪
  1. 返回到 CICSplex 已知的 MAS 视图 (EYUSTARTMAS.TABULAR)。
  2. 从此视图 (EYUSTARTMAS.TABULAR) ,查找要跟踪的路由区域的活动 MAS 。
  3. 单击此区域的 MAS 名称以显示 MAS 详细信息 (EYUSTARTMAS.DETAILED) 视图。
  4. 滚动到底部,然后单击 "跟踪详细信息" 链接以显示 MAS 详细信息 (EYUSTARTMAS.TRACE) 视图。
  5. 向下滚动到 "工作负载管理" 跟踪标志并输入 18,19,23-27。
  6. 单击 应用更改
重新创建故障或问题
通过重复先前执行的一系列操作来重新创建故障或问题。
执行转储

/DUMP COMM=(your dump title)
/R xx,JOBNAME=(EYUXvrm,cmasname,lmasname),DSPNAME=('EYUXvrm'.*),CONT
/R yy,SDATA=(ALLNUC,LPA,LSQA,PSA,RGN,SQA,TRT,CSA,GRSQ),END

其中 EYUXvrm 是发行版的 ESSS。

保存未格式化的辅助跟踪数据集,以供 CICS 支持人员复审。

停止 WLM 跟踪
使用以上指示信息通过将 CMAS 和 MAS 中的 WLM 标志设置为空白来关闭这些标志。
使用 CETR 停止辅助跟踪。 在 "辅助跟踪状态" 中输入 Stopped
格式化和解释 WLM 跟踪
如果要格式化来自 CMAS 和 MAS 路由区域的跟踪数据,请使用 CICSPlex SM 跟踪实用程序 EYU9XZUT 程序。 有关详细信息,请参阅 格式化 CMAS 和 MAS 跟踪条目

另请参阅 使用 WUI 来控制 CMAS 和 MAS 跟踪

z/OS GTF 跟踪

使用 通用跟踪工具 (GTF) 将跟踪数据同时写入来自 z/OS 和多个子系统 (例如 CICS, VTAM 和 Db2®) 的单个数据集。

启动 GTF 跟踪
步骤 1. 在 z/OS 下启动 GTF 跟踪
输入以下 z/OS 命令:
S GTF.identifier
R yy,TRACE=USRP,SYS,DSP,JOBNAMEP
R yy,USR=(F6C,xxx),JOBNAME=cicsjob,END
R yy,U
其中
  • identifier 是标识此特定 GTF 会话的名称。 如果省略标识,那么 z/OS 将自动使用作业名作为标识。
  • yy 是消息的编号。
  • USRP 选项请求 GTF 提示特定事件标识 (EID)。
  • SYSDSP 是可选的,但通常是请求的。
  • JOBNAME cicsjob 指的是 CICS 区域。
  • USR 选项用于指定要跟踪其用户数据的用户事件标识 (EID)。

    F6C 是用于 CICS 跟踪的 IBM®指定的跟踪标识 (EID)。

For a full list of trace options, see GTF 跟踪选项 in the z/OS MVS诊断:工具和服务辅助指南.

有关分配给 IBM 子系统和组件的 3 数字 EID 的列表,请参阅 GTFTRACE 子命令-格式 GTF 跟踪记录USR 选项的描述。

第 2 步, 在 CICS 中启动 GTF 跟踪
如果在 CICS 启动时发生问题,请使用以下 SIT 参数在 CICS 初始化时设置跟踪状态:
  • SYSTR=ON
  • GTFTR=ON
  • STNTR=1 为所有 CICS 组件开启级别 1 跟踪
  • STNTRxx=1 ,其中 xx 是特定组件缩写
如果在 CICS 启动后发生问题,请使用 CETR 来控制跟踪。 在初始 CETR 屏幕上输入以下值:

GTF Trace Status ===> Started
Main System Trace Flag ==> On

输入 PF4 以显示 CICS 组件的列表。 在标题为 "标准" 的列中,根据所需的跟踪级别,在所有组件的右侧输入 11-2 。 按 Enter 键以应用更改,然后按 PF3 以退出组件屏幕。

重新创建故障或问题
通过重复先前执行的一系列操作来重新创建故障或问题。
停止 GTF 跟踪
  1. 使用 CETR 通过在 GTF 跟踪状态中输入 Stopped 来停止跟踪。
    
    GTF Trace Status ===> Stopped
  2. 输入 z/OS 命令 Stop identifier 以停止 GTF 跟踪。 有关指示信息,请参阅 z/OS MVS Diagnosis: Tools and Service Aids Guide中的 Stopping GTF
格式化和解释 GTF 跟踪
使用 IPCS 通过 GTFTRACE 子命令格式化 GTF 跟踪。 有关指示信息,请参阅 使用 IPCS 来打印写入 z/OS GTF的跟踪记录。
例如,您可以使用 TSO 下的 IPCS 来查看跟踪,并且可以在 IPCS 主选项菜单中输入以下命令:
  1. 输入 0 以显示 "缺省值" 面板。
  2. 输入跟踪数据集名称:
    Source ==> DSNAME('trace.dataset.name')
  3. 输入 = 6 以显示 "命令" 面板。
  4. 输入下列其中一个命令:
    ==> GTFTRACE USR(ALL)
    ==> GTFTRACE JOBNAME(cicsjob) USR(F6C)
    ==> GTFTRACE USR(F6C) sys dsp

或者,可以将跟踪格式化为批处理程序。

读取 GTF 跟踪。 请参阅 z/OS MVS Diagnosis: Tools and Service Aids Guide中的 Reading GTF output

Language Environment 特征跟踪

使用 Language Environment® (LE) 功能跟踪 (FT),可查看 CICS 交易生命周期内重要 LE 事件的跟踪条目。 FT 在 "事件句柄" 和 "设置锚点" 处的 LE 内添加跟踪点。 它还在 LE 调用之前提供寄存器 13 和参数。 在 LE 功能部件跟踪中,您可以看到:
  • 在 ERTLI 调用中通过 LE 的路径
  • 在事件调用上传递的数据
  • 在 "设置锚点" 调用上传递的数据
启动 LE 功能部件跟踪
根据您选择的跟踪目标,使用启动 CICS 辅助跟踪, CICS 内部跟踪或 z/OS GTF 跟踪的指示信息来启动跟踪。 通过对 CICS 应用程序域 (AP=1-2) 开启级别 2 跟踪来启动 FT 跟踪:
  • 如果在 CICS 启动时发生问题,请使用以下 SIT 参数在 CICS 初始化时设置跟踪状态:
    • SYSTR=ON
    • STNTRAP = (1, 2)
  • 如果在 CICS 启动后发生问题,请使用 CETR 来控制跟踪。 在初始 CETR 屏幕上输入以下值:
    Main System Trace Flag ==> On

    输入 PF4 以显示 CICS 组件的列表。 在标题为 "标准" 的列中,在 AP 组件右侧输入 1-2 。 按 Enter 键以应用更改,然后按 PF3 以退出组件屏幕。

重新创建故障或问题
通过重复先前执行的一系列操作来重新创建故障或问题。
停止 LE 功能部件跟踪
使用 CETR:
  1. 从初始 CETR 屏幕,输入 PF4
  2. 在 AP 组件右侧输入 1OFF
  3. Enter 键以应用更改,然后按 PF3 以退出组件屏幕。
格式化和解释 LE 功能部件跟踪
根据您选择的跟踪目标,使用有关格式化 CICS 辅助跟踪, CICS 内部跟踪或 GTF 跟踪的指示信息来格式化 FT。 在格式化 LE 跟踪条目之前,请确保 CEL4TFMT 位于 STEPLIB 中。 否则,您将收到消息 DFHTR5002 ,指示功能部件格式化程序已失败。
功能部件跟踪条目包含域标识 FT。 这些条目的格式与标准跟踪点略有不同。 模块标识包含功能部件的短名称和完整模块名称。 数据区包含以下内容:
  • 事件处理程序数据区:

    数据区 1 在前两个完整词中包含寄存器 13 和事件处理程序标识。 数据区 1 的其余部分由表示调用中传递的每个参数的 4 字节整数组成。 这通常是传递的值,但可能是传递的结构的地址。

    数据区 2 (跟踪条目 1018) 包含 EICB。

  • 设置锚点数据区:

    数据区 1 包含寄存器 13(第 1 个字)、该运行单元的 CAA 地址(第 2 个字)和 CEEEDB_CREATOR_RINI,后者相当于标识飞地的创建者(第 3 个字)。

有关其他信息:

Language Environment 追溯

使用 Language Environment (LE) 回溯功能可查看所有活动例程的顺序列表,以及例程名称、语句编号和发生异常的偏移量。

  1. 使用 LE 选项 TERMTHDACT 来确定发生故障时 LE 生成的信息级别以及信息的目标。

    为了获得最佳性能,请在不需要回溯时指定 TERMTHDACT=(MSG) 。 如果需要回溯,请指定 TERMTHDACT=(TRACE,CICSDDS)CICSDDS 选项将 LE 诊断输出定向到 CICS 转储数据集,而不是定向到 CESE 瞬时数据队列。

    注: CICS 中的 Java 应用程序使用 z/OS LE 服务,而不是 CICS LE 服务。 因此, CICSDDS 不是选项, LE 会将回溯信息写入 CEEDUMP。
  2. 通过输入 IPCS 命令 VERBX DFHPDxxx 'APS=<taskid=nnnnn>' 来格式化 LE 存储区和任务的 AP 域,其中 nnnnn 是任务编号。
    • CICS 例程调用 LE 动词出口并生成与 VERBX CEEERRIP ASID(00nn) CAA(xxxxxxxx) DSA(xxxxxxxx) ALL相同的输出。
    • 这样就不需要确定 DSA 地址 (寄存器 13) 和 CAA 地址 (寄存器 12)。
    • 这将格式化 LE traceback , CAA , PCB , MEML , RCB , EDB , Runtime 选项, Heap 控制块, Stack 存储控制块 (User and Lib) , DSA 和 Condition Management 控制块。

    有关跟踪回溯字段的解释,请参阅 z/OS Language Environment 调试指南Language Environment dump 各部分下的第 7 项(跟踪回溯)。