设为首页 收藏本站
查看: 405|回复: 0

[经验分享] Java_tomcat配置远程调试

[复制链接]

尚未签到

发表于 2017-1-21 09:35:13 | 显示全部楼层 |阅读模式
  ref: http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/index.html
  在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下:
  第一步、配置tomcat
  1、在windows系统中:
  打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:
  set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
  这是在tomcat启动时设置一些虚拟机参数,使服务器允许远程连接功能。其中 address=8000是远程连接的端口号(可以设置成任意其他不冲突端口)。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。(其他的应用服务器比如weblogic也应该可以设置这些参数,有兴趣的可以测试。)
  2、在非windows系统中:
  还需要把%CATALINE_HOME%/bin/startup.sh中
  CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
  也就是把SET去掉,后面加双引号引起来,因为在Linux下,是没有SET这个语法的。
  最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。由于默认的端口是8000,所以如果8000端口已有他用的话,还需在catalina.sh文件中设 置:JPDA_ADDRESS=8000。
  输入命令startup.sh或者catalina.sh jpda start就可启动tomcat。
  (
  注:
  在linux下出现错误时
  ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
  将-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 去掉。
  )
  这样就Ok了,重启动tomcat(远程),可以直接独立启动,而不用在eclipes的插件中启动。如在控制台输出“Listening for transport dt_socket at address: 8000”,即说明在tomcat中设置成功。
  第二步、配置eclipse
  Eclipse中,Run > Debug Configurations,在弹出对话框中右击Remote Java Application新建一个远程调试项,如下所示:
DSC0000.gif
 
  1、在 “Name”输入框中输入远程调试的名称,在“Project”中选择要调试的项目,在“Host”中输入需要远程调试项目的IP,也就是tomcat所 在的IP,在“Port”中输入设置的端口号,比如上面设置的8000,然后钩选“Allow termination of remote VM”,点击“Apply”即可。点debug就可以进入debug状态了
  2、在本机设置断点;
  3、访问你的测试页面即可看到久违的调试界面。
  但每次做上述操作非常烦,不如写个批处理,如取名为Tomcat debug.bat,在这个文件中加入下面几行:
  cd %CATALINE_HOME%/bin
  set JPDA_ADDRESS=8000
  set JPDA_TRANSPORT=dt_socket
  set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
  startup
  将此脚本保存到tomcat/bin目录下,这样需要远程调试时,运行debug.bat即可;不需要远程调试时,还是运行startup.bat文件

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-331421-1-1.html 上篇帖子: tomcat 分配java内存 下篇帖子: 关于tomcat负载均衡多个tomcat的安装问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表