当前位置: > Linux服务器 > Tomcat >

IDEA利用JPDA远程调试运行在tomcat中的程序

时间:2016-12-19 13:33来源:linux.it.net.cn 作者:IT
原文:How to remotely debug application running on tomcat within Intelli Idea
本文摘取了原文多种配置中得一种并检验成功:
     一下配置均针对Linux系统
     tomcat版本:7.0.41
远程调试分为两个主要步骤:
1.启动远端Tomcat并开启一个远程调试端口
2.本地IDE链接远端Tomcat
 
第一步:配置Tomcat远程调试端口并启动:
        有多种方式可以设置JVM远程调试端口,如JPDA_OPTS, CATALINA_OPTS 或者JAVA_OPTS。然而一旦设置JAVA_OPTS,所有的JVM应用都会被影响,所以可以通过设置CATALINA_OPTS或JPDA_OPTS。在Tomcat的启动脚本catalina.sh中,CATALINA_OPTS会引用到JPDA_OPTS。所以我们直接修改JPDA_OPTS就可以了。

 
         1.修改$TOMCAT_HOME/bin下得setenv.sh。增加一行  

 
  1. JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n"  
          意思是:a)指定远程应用和调试工具间通讯协议(transport=dt_socket)  b)指定远程应用的debug端口(1043)   c) server=y告诉当前JVM会被调试   d) suspend=n 则告诉JVM不用等待有调              试者链接,马上开始执行;如果你设置成”y”,那么应用会被挂起,直到有调试者链接上。          
        
 2. 启动Tomcat  使用命令  
 
  1. $TOMCAT_HOME/bin/catalina.sh jpda star  


 (本来应该使用$TOMCAT_HOME/bin/catalina.sh start)
    
第二步:配置IDEA链接远程调试端口
     1.配置Debug配置
     IDEA—》Run—》Edit Configuration 添加一项新的设置
    
     
    2.在server页签指定远程主机和端口的细节
     
     
 
3.切到Startup/Connection 页签,指定需要调试远程的JVM端的信息
     
     
     
4. 点OK保存后,我们尝试点击Debug按钮尝试链接到远程Tomcat了。链接成功汇报下面信息
      
     
 
      5.剩下的我们就可以像调试本地程序一样打断点调试程序了  
   
 
注:之前用过jdb工具可以链接代码在服务器命令行调试,也是一种非常好用的方法。jdb可以直接在服务器上调试而不需要IDE工具,可以避免代码不同步的问题。待尝试后再补充 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容