tomcat+eclipse远程调试

在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下:

第一步、配置tomcat

一、在windows系统中:

打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:

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

其中address=8787是没被使用的端口号。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。

二、在非windows系统中:

还需要把% CATALINE_HOME %/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "[email protected]" 中的start改成jpda start。由于默认的端口是8000,所以如果8000端口已有他用的话,还需在catalina.sh文件中设置:JPDA_ADDRESS=8787。

输入命令startup.sh或者catalina.sh jpda start就可启动tomcat。

第二步、配置eclipse

在Eclipse中选择Run?Debug,在弹出的对话框中右击Remote Java Application新建一个远程调试项,如下如所示:

在“Name”输入框中输入远程调试的名称,在“Project”中选择要调试的项目,在“Host”中输入需要远程调试项目的IP,也就是tomcat所在的IP,在“Port”中输入设置的端口号,比如上面设置的8787,然后钩选“Allow termination of remote VM”,点击“Apply”即可。

设置完后就可以开始调试了,大概分一下几步:

1、启动tomcat(远程),如在控制台输出“Listening for transport dt_socket at address: 8787”,即说明在tomcat中设置成功;

2、在本机设置断点,即在需要监视的代码行前双击就会出现一个小圆点;

3、进入上图界面,选择要调试的项,点击“Debug”即可进行远程调试;

4、当运行到设置了断点的代码行处即可看到如下图所示的浅绿条。

按键操作:

1、F5键与F6键均为单步调试,F5是进入本行代码中执行,F6是执行本行代码,跳到下一行;

2、F7是跳出函数;

3、F8是执行到最后。

当然,为了方便,可以新建一个批处理文件,假如取名为debug.bat,在这个文件中加入下面几行:

cd %CATALINE_HOME%/bin

set JPDA_ADDRESS=8787

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

这样需要远程调试时,运行debug.bat即可;不需要远程调试时,还是运行startup.bat文件。

时间: 2024-12-11 16:00:32

tomcat+eclipse远程调试的相关文章

tomcat启动debug模式,使用eclipse远程调试

生产环境和测试环境可以将tomcat启动设置为debug模式,开始远程监听端口,然后在本地的eclipse中对项目远程调试,即可对指定的服务器中的tomcat进行远程调试. 一.打开tomcat/bin/Catalina.bat文件,在下面位置输入:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=800

tomcat开发远程调试端口以及利用eclipse进行远程调试

一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 Linux系统 在catalina.sh里:  CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compile

Eclipse远程调试Tomcat

最近,一直在研究Tomcat的工作内幕,主要的方法就是参考<How Tomcat Works> 这本书和Tomcat 5.5.26的源代码. Tomcat的代码结构还是比较清晰的,注释也比较全.但是代码毕竟是静态的,难以彻底弄清类与类之间的协作关系,以及运行时对象的交互关系. 如果能对Tomcat的启动.处理请求和停止的过程进行断点调试,看清Tomcat的每一步行踪,那么就能解决上面的问题了. 于是,又一个问题出来了:如何使用Eclipse远程调试Tomcat ? 上网查了一些资料,相关的文章

Linux下使用Eclipse 远程调试

1 开启端口 修改/apache-tomcat-7.0.40/bin/catalina.sh 在合适的位置(请自行判断,只要有JAVA_OPTS的设定前后即可)插入下面的设定:UI_DEBUG="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899"CATALINA_OPTS="$CATALINA_OPTS $UI

Eclipse远程调试(远程服务器端监听)

前提:远程服务器上运行的WEB项目class对应的源码与本地项目中必须保持一致,也就是远程tomcat部署的项目就是本机项目打包过去的,而本机项目没有发生变动. 远程服务器端 服务器端配置eclipse调试器监听端口,有两种方式,任选其一 第一种方式: 环境变量 export JPDA_ADDRESS=9999 启动tomcat 使用sh catalina.sh jpda start启动 注意:不要用startup.sh 通过这条命令启动tomcat,会监听JPDA_ADDRESS设置的端口,等

CloudStack 4.3 源码部署+eclipse远程调试

CloudStack 4.3 源码部署 系统环境 vmware workstation 下创建一个虚拟机 装有Centos6.5  64bit 安装软件 1.yum install git mysql mysql-server mkisofs gcc python MySQL-python openssh-clients wget 2.下载maven 并解压到 /root/maven 目录 3.下载ant 并解压到 /root/ant 目录 4.下载sun jdk 7 并解压到 /root/jd

使用Eclipse远程调试及原理

今天定位Linux Server端的Java应用程序的问题,使用了 Eclipse 远程调试 Java 应用程序,这恐怕是定位Server端最常见也是最根本的方法,居然至少有两位有好几年开发经验的同事都不知道这个方法,我也感觉十分诧异. 本文在介绍使用Eclipse远程调试Java应用程序之外,着重解析了远程调试的原理. JVM原理 众所周知,Java由于引入了虚拟机JVM,拥有了很好的跨平台和安全性,.java文件由Javac编译成.class文件也叫字节码文件,字节码文件由JVM执行,并由翻

Eclipse远程调试应用程序

第一步,在应用程序的配置文件run.xml中加入下面的配置项,启动应用程序: <target name="run" depends="checkBuilderFailedLogExist">  <!--ant antfile="../DBSchema/main.xml" target="run-all" /-->   <java classname="com.raisecom.nms.c

eclipse远程调试Hadoop

环境需求: 系统:window 10 eclipse版本:Mars Hadoop版本:2.6.0 资源需求:解压后的Hadoop-2.6.0,原压缩包自行下载:下载地址 丑话前头说: 以下的操作中,eclipse的启动均需要右键“管理员运行”! 在创建MapReduce的Project那块需要配置log4j(级别是debug),否则打印不出一些调试的信息,从而不好找出错的原因.配置这个log4j很简单,大家可以在网上搜索一下,应该可以找得到相关的配置. 1)首先需要利用ant编译自己的Hadoo