对 Java 应用程序进行调试
要调试 Java™ 程序,可以使用 Java 调试器 (JDB) 应用程序或其他调试器,这些调试器使用 SDK 为操作系统提供的 Java 平台调试器体系结构 (JPDA) 进行通信。
可以在 故障诊断和支持中找到有关使用 Java 进行问题诊断的信息。
注: 在 AIX® 系统上, SDK 包含 AIX 调试器 DBX 的插件。 尽管 DBX 插件作为 SDK 的一部分提供,但它不受支持。 但是, IBM® 将接受错误报告。
Java 调试器
JDB 包含在 SDK中。 该调试器通过 jdb 命令启动;它使用 JPDA 连接到 JVM。
- 要调试 Java 应用程序,请执行以下操作:
- 使用以下选项启动 JVM:
- 在 Windows 系统上:
java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
- 在其他系统上:
java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>
JVM 启动,但在启动 Java 应用程序之前暂挂执行。
- 在 Windows 系统上:
- 您可以在单独的会话中将调试器连接到 JVM:
调试器将连接到 JVM ,您现在可以发出一系列命令来检查和控制 Java 应用程序; 例如,输入 run 以允许 Java 应用程序启动。jdb -attach <port>
- 使用以下选项启动 JVM:
- 要调试在远程工作站上运行的 Java 应用程序,请执行以下操作:
- JPDA 使用 TCP/IP 套接字连接到远程 JVM。
- 使用以下选项启动 JVM:
- 在 Windows 系统上:
java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
- 在其他系统上:
java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>
JVM 启动,但在启动 Java 应用程序之前暂挂执行。
- 在 Windows 系统上:
- 将调试器连接到远程 JVM:
- 在 Windows 系统上:
jdb -connect com.sun.jdi.SocketAttach:hostname=<host>,port=<port>
- 在其他系统上:
jdb -attach <host>:<port>
- 在 Windows 系统上:
- 使用以下选项启动 JVM:
- 要了解更多信息,请访问:
- 有关 JDB 选项的更多信息,请输入:
jdb -help
- 有关 JDB 命令的更多信息:
- 类型
jdb
- 在 jdb 提示符下,输入
help
- 类型
- 有关 JDB 和 JPDA 及其用法的更多信息,请参阅:
- 有关 JDB 选项的更多信息,请输入: