Java 远程调试技术

发送反馈


JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA,Java 开发人员可以方便灵活的搭建 Java 调试程序。关于 JPDA 的更多说明请参见:Oracle JPDA 指南

通过 JPDA,SuperMap iServer 服务器可以开启调试模式,方便 iServer DSSE 扩展程序的调试。

一、配置 iServer,构建服务端调试环境

设置 JVM 启动参数如下:

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=*:49812

-Xdebug 表示让 JVM 运行在 DEBUG 模式下,-Xrunjdwp 通知 JVM 使用 JDWP(java debug write protocol)来运行调试环境,Xrunjdwp 的子参数如下:

 

运行在 Tomcat 容器中时(iServer 的默认运行方式),可修改 catalina.bat/sh,在最前面增加 JAVA_OPTS 的设置如下:

Windows 平台(catalina.bat):

set JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=*:49812

Linux 平台(catalina.sh):

JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=*:49812"

 

在部署好 DSSE 扩展应用(这里以 GoogleMapsProvider 示范工程为例)后,运行 startup.bat/sh,等待调试器连接,如下图,在第二步设置的调试器连接后会继续启动。

 

二、在 Eclipse 中新建调试工程,连接到调试器

在 Eclipse 中打开 DSSE 扩展应用,这里以扩展实现 GoogleMapsProvider 示范工程为例,右键单击工程,选择 Debug As>Debug Configuration:

在弹出对话框中找到“Remote Java Application”,右键单击选择“New”创建调试配置,如下图:

填写 Host 为第一步 iServer 所在的服务器 IP,端口为第一步中设置的address,即调试服务器的端口号,如下图:

单击“Apply”保存配置,单击“Debug”,就可以下断点进行调试了。