java程序debug远程调试

相信本地debug调试大家都会,但是如果项目如果已经打成运行包,发布到服务上了。或者打成运行包在本地测试时,我们怎么用debug的断点调试呢。方法如下:

 

1、在运行脚本中加入  -Xdebug -Xrunjdwp:transport=dt_socket,server=y,server=n,address=8765

各参数解释如下

-Xdebug
启用调试特性。
-Xrunjdwp:<sub-options>
在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。
transport
这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。
server
如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。
address
这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。
suspend
如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。

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

你可能感兴趣的:(debug)