? ? ?Eclipse作为非常通用的IDE,除了提供常用的本地DEBUG模式,还提供了连接远程JVM进程的功能。
?
我的应用是通过Eclipse remote debugger来debug一个已经发布了的插件产品。
?下面是步骤:
? 1.在发布的产品里给EXE文件创建一个快捷方式,右键快捷方式->属性->目标 然后加入参数
-vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1716
参数说明:
tansport=dt_socket,申明用socket协议进行远程DEBUG
server=y.表明当前程序扮演server端来接受debugger请求
suspend=y,??当前JVM进程进入suspend模式,监听来自客户端的debugger
address=1716,当前JVM对外发布的被监听端口。
?
2.打开Eclispe->debug configrations->remote java applications->new
?(1)然后在右侧的connect面板里配置好要DEBUG的工程名,host,port
注意port要是在服务端address对应的端口
?(2)切换面板到SOURCE,可以附上要DEBUG的源码。个人认为这个功能十分实用,我通过这个功能成功DEBUGl了一个ECLIPSE 平台内部的包。可以通过把源码工程包导入ECLIPSE,然后在该源码包对应的发布产品上进行源码DEBUG。
?
PS:其实remote debugger不仅能DEBUG RCP 产品,它还可以Debug j2ee程序,详细的教程见http://www.eclipsezone.com/eclipse/forums/t53459.html?还可以DEBUG任何已经发布好的JAVA JAR包。只要你可以附上JAR包的源码。
?
?? ? ??