相信本地debug调试大家都会,但是如果项目如果已经打成运行包,发布到服务上了。或者打成运行包在本地测试时,我们怎么用debug的断点调试呢。方法如下:
1、在运行脚本中加入 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,server=n,address=8765
各参数解释如下
2、在myeclipse中点击run->debug configurations->remote java application
在host栏中输入服务器的ip,端口对应以上设置的为8765. 接下来我们就可以像在本地一样断点调试程序了。
web程序
这几天在调试实体抽取和热点统计的时候,由于本地无法连上服务器数据库,只能把系统部署到服务器上,远程调试。试了一下myeclipse的远程调试,感觉挺好的,屡试不爽,下面说说如何配置一个myeclipse的远程调试。
1、修改tomcat下面的catalina.sh文件,在文件中加入CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n",其中address=10000表示要远程调试连接的端口号,保存文件;
2、关闭服务器的防火墙/etc/rc.d/init.d/iptables stop;
3、把web工程部署到tomcat下面;
4、新建remote java application:打开MyEclipse,新建一个remote java application ,在打开的MyEclipse里的工具栏里有个小虫子debug的图标,点击旁边的下三角符号,选择open debug dialog,打开debug配置对话框,在最后一项有个remote java application ,选中后右击new一个出来;
5、配置remote java application:在name里填个名字,然后在下面的connect的project里选中MyEclipse里的项目(即部署在Linux系统下的项目,注意要和远程的项目对应)。connection type就用默认的,connection properties的Host里填上远程机器的ip地址(即Linux系统的IP地址), 第二项Port里填端口:10000,(Port端口和catalina.sh 文件中的address值一样,同时要保证这个端口没被其他服务使用);
6、启动tomcat;
7、启动tomcat后直接点击“Debug”按钮,开启调试线程,在MyEclipse的debug窗口中会看到有一个调试的线程启动,说明配置成功。
tomcat 7.0 好像不需要修改任何配置文件,仅用以下方式启动即可 ./catalina.sh jpda start