调试 Java 应用程序

CICS® 中的 JVM 支持 Java™ Platform Debugger Architecture (JPDA),后者是 Java 2 平台中提供的标准调试机制。该体系结构提供了允许将远程调试器连接到 JVM 的 API 集合。

关于此任务

您可使用任何支持 JDPA 工具来调试 CICS 中运行的 Java 应用程序。例如,您可使用 z/OS® 上随 Java SDK 包含的 Java Debugger (JDB)。要连接 JPDA 远程调试器,您必须在 JVM 概要文件中设置一些选项。

IBM 提供针对 Java 的监视和诊断工具,包括运行状况中心。IBM 运行状况中心在 IBM Support Assistant Workbench 中可用。这些免费工具可从 IBM 下载,如 Getting Started guide 中所述。

过程

  1. 将调试选项添加到 JVM 概要文件以通过调试方式启动 JVM:
    -agentlib:jdwp=transport=dt_socket,server=y,address=port
    选择可用端口以远程连接到调试器。 如果 JVM 概要文件由多个 JVM 服务器共享,那么您可使用不同的 JVM 概要文件进行调试。
  2. 将调试器连接到 JVM。 如果连接期间发生错误(例如,端口值不正确),会将一条消息写入 JVM 标准输出和标准错误流。
  3. 使用调试器,检查 JVM 的初始状态。例如,检查已启动的线程的标识和已加载的系统类。 JVM 暂挂执行;Java 应用程序未启动。
  4. 通过指定完整的 Java 类名称和源代码行号,在 Java 应用程序中适合的点上设置断点。因为应用程序类通常尚未加载,所以调试器指示该断点的激活一直推迟至类被加载后。 让 JVM 通过 CICS 中间件代码运行至应用程序断点,在此处,它会再次暂挂执行。
  5. 检查加载的类和变量并设置其他的断点,以按照需要单步执行代码。
  6. 结束调试会话。您可让应用程序运行至结束,此时,调试器和 CICS JVM 之间的连接将关闭。一些调试器支持 JVM 的强制终止,这将导致 CICS 系统控制台上出现异常终止和错误消息。