第一种方式:
在本机调试Resin服务,一般是在Eclipse IDE中进行,这样即可以快速的在开发环境中启动/终止Resin,又可以很方便的Debug程序、跟踪异常栈。
在任何版本的Eclipse中均可以通过编写launch文件的方法调试Resin,达成上述目的,步骤如下:
1. 打开菜单 Run -> Open Run Dialog... ,在 Java Application 下 新建一个launch,在这里我们可以命名为 RunResin 。 Image:LaunchResin.JPG
2. 在 Main -> Main class 中填写 com.caucho.server.resin.Resin ,这是 Resin 3.0.x 服务器的启动类(其它版本的Resin服务器可能有所不同,具体可以参看 RESIN_HOMEinhttpd.sh 文件中的class项配置)。
3. 在 Arguments -> Program arguments 中填写 -conf D:/resin3018/conf/resin.conf ,指定服务器启动读取的配置文件。
在 Arguments -> VM arguments 中填写 -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Xms768m -Xmx768m ,指定Log manager的实现类和JVM启动堆参数(JVM启动堆大小可以根据本机情况而定,如果太小或不指定,则在调试过程中很容易出现内存溢出异常)。
更多的参数配置可以参看文件 RESIN_HOMEinwrapper.pl ,其中定义了标准日志输出、错误日志输出、JVM Log等程序或JVM参数,建议根据自身的关注点灵活选用和配置。
4. 在 Classpath -> User Entries 中加入 RESIN_HOMElib 下所有的jar包,确保服务器运行的依赖库被加载。
5. 在 Source -> Add -> Java Project 中选择本地工程的源代码目录(例如xiaonei/trunk/src目录),这样就可以在运行过程中将Runtime class与其Source code进行关联调试。
6. 在Eclipse中选择 Run -> Open Run Dialog... -> RunResin / Debug -> Open Debug Dialog... -> RunResin 即可在IDE中 运行/调试 在Resin服务器上的应用程序了。
第二种方式:
在Resin的启动命令后加上如下参数:httpd -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345
启动Resin后,打开Eclipse项目,选择 Run -> Debug... -> Remote Java Application -> New 新建一个Remote Java Application,填入Host: 127.0.0.1, Port: 12345, 注意这个Port就是Resin启动的address参数。
现在,就可以利用Eclipse强大而方便的调试界面对Web App断点调试,跟踪了!
我自己的项目配置
服务端