使用 EDF 时的限制
当您使用 EDF 来调试应用程序时,必须了解一些限制。
- 开放式 TCB 和 EDF
- 即使程序通常使用 OPEN TCB (L8, L9, X8或 X9) 运行, CEDF 也会强制该程序在 QR TCB 上运行,因为 CEDF 本身不是线程安全的。
- 参数列表堆栈
- CEDF 只有其 EXEC CICS® 参数列表副本的一个堆栈级别。 如果应用程序调用支持 EXEC 的全局用户出口或用户可替换模块 (URM) ,那么由全局用户出口或 URM 发出的 EXEC CICS 命令的参数列表可能会覆盖由主程序发出的 EXEC CICS 命令的参数列表。
- 安全注意事项
EDF 是一个强大的工具,您的安装可能会限制其使用事务安全性。 RACF® 定义了 EDF 事务的安全属性。 如果您无权使用 CEDF ,那么无法启动事务。
应用程序先决条件
要使用 EDF 调试的用户应用程序必须使用转换程序选项 EDF 进行组装 (或编译) ,这是缺省值。 如果指定 NOEDF ,那么无法使用 EDF 调试程序。 在指定 NOEDF 时没有性能优势,但该选项可用来防止已调试的子程序中的命令出现在 EDF 屏幕上。
要使用 EDF 调试的应用程序还必须在其资源定义中具有属性 CEDF (YES) ,这是缺省值。 如果使用 CEDF (YES) 定义程序并使用转换程序选项 EDF 进行编译,那么将为该程序显示 EDF 诊断屏幕。 如果使用 CEDF (YES) 定义程序,但使用转换程序选项 NOEDF 编译程序,那么仅显示程序启动和终止屏幕。 如果指定了 CEDF (NO) ,那么不会显示任何 EDF 屏幕。
如果具有属性 CEDF (NO) 的程序链接到具有属性 CEDF (YES) 的程序,那么可能无法将 EDF 用于事务。 例如,如果 CICSPlex ® SM 动态事务路由程序 EYU9XLOP 是使用属性 CEDF (NO) 定义的,并且用户可替换程序 EYU9WRAM (用于工作负载管理处理) 是使用属性 CEDF (YES) 定义的,那么不能使用 EDF 来调试 EYU9WRAM。 要成功调试事务中的多个程序,请确保使用 CEDF (YES) 定义所有程序。
单屏幕方式的限制
在使用 EDF 方面存在一些限制,这些限制使使用一种特定屏幕方式成为首选甚至是必需的:
- 当运行远程事务时,只能在单屏幕方式下使用 EDF。
- 在单屏幕方式下进行测试时, EDF 不支持 VM PASSTHRU。
- 在单屏幕方式下,用户事务和 CEDF 不得指定消息日志记录,因为消息会干扰 EDF 显示。 消息日志记录由每个事务的概要文件定义控制。
- 在单屏幕方式下,请勿在 CEDF 事务的概要文件定义中指定 PROTECT = YES。 如果指定了此选项,那么将忽略 CEDF 事务的消息保护。 即使在 CEDF 下运行,用户事务仍可以指定 PROTECT = YES 选项。 此限制不适用于双屏模式。
- 如果发出了 SEND LAST 命令,那么当您使用单屏幕方式时,将在处理该命令之前结束 EDF。
- 要测试使用屏幕分区或执行其自己的请求单元 (RU) 链接的应用程序,请以双屏幕方式运行。
- 在单屏幕方式下,如果用户事务的概要文件指定 INBFMH=ALL 或 INBFMH=DIP ,那么 CEDF 的概要文件必须具有相同的 INBFMH 值。 否则,用户事务将以 ADIR 异常终止结束。 双屏幕方式不需要概要文件在此方面匹配。
- 如果入站应答方式设置为 character 以启用属性设置键,那么 EDF 将在单屏幕方式下禁用这些键。
- 在双屏模式下使用 EDF 下的 CECI 时,会针对 EDF 终端而不是事务终端发出某些命令 (例如, ASSIGN 和 ADDRESS)。 有关如何从 CEDF 调用 CECI 的信息,请参阅 INVOKE CECI 。
- 在双屏模式下使用 EDF 时,请避免在 EDF 终端启动第二个任务,例如通过发出 START 命令。 因为 EDF 是伪会话事务,所以它不会阻止第二个任务在它所使用的终端上启动。 在某些情况下,这可能会导致死锁。
- 在双屏幕方式下使用 EDF 屏幕禁止时,导致长时间等待的命令 (例如 DELAY , WAIT 或第二次 RECEIVE) 可能会导致 EDF 显示为已完成。 如果任务异常结束,那么将在监视终端上重新激活 EDF。
两种屏幕方式的限制
其他限制适用于两种屏幕方式:
- 如果事务发出 FREE 命令,那么将关闭 EDF 而不发出警告。
- EDF 不拦截对 CPI 通信接口 (CPI-C) 或 SAA 资源回收接口 (CPI-RR) 的呼叫。 您可以测试在 EDF 下使用 CPI 调用的事务,但无法在调用点看到 EDF 显示。
- 当处理 SIGNON 命令时, CEDF 禁止显示密码或密码短语值,以降低意外泄露的风险。
- 对连接使用 EDF 时,由于 CEDF 的实现,将不会显示通过该连接交付的文件控制命令函数。