MyEclipse远程调试Tomcat

程序就是这么一个神奇的东西,有时你的一个项目,在本机上运行得还是好好的,可当你把这货放到了服务器上,同样的条件就是结果不一样。于是就灰常想看一下程序在远程运行时候的状态,希望让程序在远程运行,还可以在本机打断点跟一下,这就用到了用eclipse远程调试Tomcat。记得以前好久之前研究了一下,怎么也没弄成功。最近终于OK啦。

一、调试准备

首先得有一个在远程服务器上的Tomcat与一个在本地的Eclipse,还有就是一个已经部署在远程Tomcat上并且源代码在本地Eclipse上的程序。当然如果木有远程的服务器就用自己的本机当远程的服务器试下也行哈。

二、配置tomcat

1、如果远程服务器是Windows NT的环境,那就在%CATALINE_HOME%/bin 下建立debug.bat文件,在里面贴入如下内容:



set JPDA_ADDRESS=8888

set JPDA_TRANSPORT=dt_socket

set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

startup

其中的两处8787是要启用的远程端口,当然任何未被使用的端口都可以。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。


2、如果远程服务器是Linux/Unix环境,就编辑%CATALINE_HOME%/bin/startup.sh文件,找到其中最后一行,将

exec "$PRGDIR"/"$EXECUTABLE" start "$@"

改为

exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"

默认的远程调试端口是8000,如果被占用,编辑%CATALINE_HOME%/bin/catalina.sh文件,将

JPDA_ADDRESS="8000"

改为

JPDA_ADDRESS="8888"

3 、在Windows下运行debug.bat 在Linux下运行 startup.sh启动Tomcat。

如果在启动日志中出现

Listening for transport dt_socket at address: 8888

则说明远程调试端口监听成功。
三、配置使用Eclipse

在要调试的项目上右键,如下图



新建调试连接


配置调试连接


进入DEBUG视图进行调试


调试完毕退出(不要直接关了tomcat,毕竟是远程服务器,端口连接即可)


参考:http://hi.baidu.com/coolcooldool/item/cd21a87a7704493f70442303
http://wenku.baidu.com/link?url=gtxuadbnA5TSSQ9refcCWiv6XOyJf1Un5yZZSaBbVwE0kcU12-sng8lh9iNtaUho7CsIoNGXivUwWLRFbkXGoHe5rY6DAJmzfAH7eA2fULy

猜你喜欢

转载自jimmy9495.iteye.com/blog/2039018