无插件使用Eclipse和Resin调试WEB应用

作者:聂勇 欢迎转载,请保留作者信息并说明文章来源!

环境

  • Eclipse-3.x
  • Resin-3.0.x / Resin-3.1.x

一、在Resin-3.0.x中调试WEB应用

由于WTP不支持Resin的调试(支持Tomcat, JBoss, GlassFish等,就是不支持Resin),网上也没有比较好的插件可用。下面是本人在实际项目开发中曾用过的方式,供参考:
1、加入启动参数。
图1

可以在快捷方式中增加启动参数,也可以在命令行下使用:

Windows操作系统:

1
httpd.exe -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999

Unix/Linux操作系统:

1
httpd -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999

使用上述命令启动Resin。

2、启动Resin。
图2
如上图红色框框内的内容所示,说明启动参数生效,监听端口为9999。

3、在Eclipse中建立Remote Java Application。
图3
设置如下:

  • Connection Type - Standard(Socket Attach)
  • Host - Resin所在机器的IP地址
  • Port - Resin transport dt_socket的监听端口(参考前面的第一步和第二步)

然后点击“Debug”按钮启动远程连接。

4、Debug WEB Application。
在WEB应用源代码中设置断点,打开浏览器,Eclipse就会提示你跳到Debug视图:
图4

二、在Resin-3.1.x中调试WEB应用

Resin-3.1.x与Resin-3.0.x不同,在启动命令中加入参数不再有效,改为在配置文件中增加参数。

1、打开 RESIN_HOME/conf/resin.conf 配置文件,找到JVM arguments的配置部分。增加如下配置内容:

1
2
3
4
5
<!-- Debug -->
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Xnoagent</jvm-arg>
<jvm-arg>-Djava.compiler=NONE</jvm-arg>
<jvm-arg>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998</jvm-arg>

后面配置步骤与Resin-3.0.x一样。