论坛首页 Java企业应用论坛

Eclipse的远程调试(for tomcat server)

浏览 10976 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-25  
    前一阵,做了一个项目,项目分为若干个小模块,要求每个模块是一个单独的项目,可以单独发布成web应用,并且要求以API(jar包形式),webservice为其他项目提供支持.我们选择了appfuse的webwork+spring+hibernate框架,由于项目中每个单独项目之间还有依赖关系,我们选择使用ant进行编译,拷贝.后来有其他同事参与进来,他并不习惯于使用ant,说出了ant的诸多不好!并抱怨不能直接在eclipse中进行跟踪,调试,当时我也没有在eclipse中远程调试的经验,只能让他习惯于使用ant编译了.
    最近在研究tapestry,在<<Enjoy Web Dev With Tapestry>>这本书中找到了答案:
启动tomcat之前设置两个环境变量

cd %CATALINA_HOME%/bin
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
startup
最好的方式就是建一个bat文件,内容如下(假设你的CATALINA_HOME地址是D:\tomcat-5.5.9):


set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
cd D:\tomcat-5.5.9\bin 
catalina jpda start


然后在eclipse中选择Run-->Debug,弹出页中左边选择Remote Java Application,右边Name 填一个 project 填写上需要远程调试的project名称,host:localhost Port:8000(这些eclipse会自动帮你填充上)
注意: eclipse的Default output folder 和 tomcat部署web应用的路径不能一样(使用ant去build就可以了.)
由于不会贴图只能这样描述了,有什么不清楚的地方欢迎大家指出!
我的email是zhumiaowen0414#163.com欢迎大家交流!
   发表时间:2007-04-27  
不知道下面这种远程调试方法和楼主的是不是在原理上是一样的。
在%CATALINA_HOME%/bin下建一个文件setenv.bat
内容为:

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
0 请登录后投票
   发表时间:2007-04-27  
感谢weiqingfei,又学会了一种方法,至于原理就不清楚了,呵呵!应该都是大同小异吧!
刚才试了一下weiqingfei的方法,建一个setenv.bat 放在tomcat下运行startup时tomcat始终会自动执行setenv.bat这样有个弊端,就是不想远程调试的时候必须把文件删掉,然后运行startup,我的方法是建一个bat文件
cd %CATALINA_HOME%/bin
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
startup
当需要远程调试的时候就运行这个文件,如果不需要就运行tomcat原来的startup
0 请登录后投票
   发表时间:2007-04-29  
crazyox 写道
感谢weiqingfei,又学会了一种方法,至于原理就不清楚了,呵呵!应该都是大同小异吧!
刚才试了一下weiqingfei的方法,建一个setenv.bat 放在tomcat下运行startup时tomcat始终会自动执行setenv.bat这样有个弊端,就是不想远程调试的时候必须把文件删掉,然后运行startup,我的方法是建一个bat文件
cd %CATALINA_HOME%/bin
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
startup
当需要远程调试的时候就运行这个文件,如果不需要就运行tomcat原来的startup
之所以加一个这样的文件是因为catalina.bat里面有这样一句话
if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

如果你经常会切换要和不要debug,和你的设置一样,只要简单的把SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000替换成你的设置不久可以了么。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics