背景:
最近需要对一个分布式项目进行debug,在本地部署分布式环境始终还是不够理想。所以决定使用remote debug功能。
开发环境:eclipse
应用部署环境为:jdk7.0 、tomcat7.0 使用jsvc启动(特殊需要,本应用必须使用jsvc)
操作:
1. 启动jvm JPDA支持
普通启动tomcat设置jvm的remote debug 参数 网上已有很多说明,这里主要说明下用jsvc 启动时jvm 参数加在什么位置才能生效。google下发现很多介绍jsvc启动时打开remote debug的方法都是无效的。我也用了两种方法确实无效。所以自己看了看jsvc的启动过程。打开jvm 远程debug服务的参数为:
<code>−Xdebug −Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=</code><code>8000</code><code> </code>
那么正确的位置在哪里呢?tomcat7.0为例。需要加在 tomcat-jsvc.sh 里面。具体位置为: ${tomcat_home}\bin\tomcat-jsvc.sh
打开找到如下行
我们可以看到start 下面有很多参数,其中就有jvm的参数设置。我们只需要将相应参数夹在下面就可以了
添加后,注意每行结束有个续行符号 “\”
重启jsvc 服务就可以生效了。客服端只要连过来就可以像本地debug一样调试了。
注意:上面指定了服务端口为8000,可以根据需要修改
2. 在eclipse下remote debug
选择项目,右键"debug as "->"debug configarations"
在弹出的窗口中选中“remote java aplications", 创建一个新的debug config:
填入相应的参数,点击”run“ 就可以像本地调试一样调试远程应用了。