项目远程调试

背景

在Java项目开发的过程中,本地调试是非常普遍的,但是有些情况也是本地调试所做不到的,例如Maven项目等。

其实这时候就需要远程调试,不管开发工具是Eclipse,还是Netbeans,异或是IDEA,都是可以实现远程调试的,当然这也离不开应用服务器的支持。

具体说明

列举两个应用服务器的实例,一个为resin(4.0版本,以前版本的配置方式可以自行查找)服务器,一个为tomcat服务器。

resin服务器

过resin服务器的童鞋都应该清楚,resin服务器的核心配置文件是resin.xml,进行远程调试的话,需要在resin.xml文件中配置一下<server-default>标签的子标签<jvm-arg>。

具体配置如下:
<jvm-arg>-Xnoagent</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>                      
<jvm-arg>-Djava.compliler=NONE</jvm-arg>
<jvm-arg>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8082</jvm-arg>
这里需要注意的是address的端口号,这个是监听jvm的端口,如果远程调试是需要输入这个端口号的。配置完成之后重启resin。
后面就需要配置IDE环境了,每个IDE都有下面的配置:

remot java application

在IDE中需要配置一个Remote java application的配置并且运行找到我们要部署的项目,并且输入主机地址和端口号:

配置

在运行之前确保resin中已经部署了此项目,如果部署了就可以执行了,这时候在IDE中就可以设置断点了,当访问的时候就可以执行到断点处。

Tomcat服务器

配置tomcat,主要是添加一个文件debug.bat,文件内容为
set JPDA_ADDRESS=8000 
set JPAD_TRANSPORT=dt_socket 
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 
startup
其实这里和resin的类似,address是监听jvm的端口号,这时候以后启动tomcat的时候仅仅启动debug.bat文件即可。

剩下的就是IDE的配置,和resin是一样的。

提示

这里提到的一点就是,如果不想每次打包项目部署的话,可以将resin或者tomcat服务器的部署项目位置直接改成要调试的项目位置即可。

总结

有了远程调试,有些项目的调试不再用打印日志的方式了,还是很方便的。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值