Tomcat使用IDEA远程Debug调试的讲解

Tomcat运行环境:CentOS6.5、Tomcat7.0、IDEA

远程Tomcat设置

1、在tomcat/bin下的catalina.sh上边添加下边的一段设置

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=60222,suspend=n,server=y"

2、address=60222 这个是后边IDEA设置的时候需要用到的调试端口,可以任意设置一个未使用的端口,但是后边的配置都要一致.

IDEA设置

1、添加Tomcat Server选择Remote

2、设置相应的参数

  • xxx.xxx.152.67:8080为远程Tomcat服务器的IP地址和端口,这里可以设置域名,例如:http://security.xxxx.cn/login.do
  • 60222这个端口为1.1步中设置的debug端口,适合tomcat的端口不一样的;
  • 这里的Remote staging选择的都是same file system,这就要求本地代码和远程Tomcat的代码要一直;

3、Startup/Connection

选择Debug、Socket、调试端口这里是60222

4、选择运行

然后点击右边的debug即可运行(首先Tomcat要启动)

5、是否成功

可以看到已经连接成功,

查看Tomcat服务器日志,如下:

6、如果失败

如果出现端口被拒绝:

这种可能是tomcat并未启动,或者遇错误停止,重启Tomcat即可

连接失败,其他问题

首先在服务器端查看 调试端口 这里是60222的使用情况

[root@VM_92_170_centos bin]# lsof -i:60222
COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
java  12064 root  5u IPv4 1320209   0t0 TCP 1x.xxx.xxx.170:60222->1xx.xx.xxx.231:13325 (ESTABLISHED)

可以看到这是自己本地和远程的一个连接,如果连接失败却看到上边的使用情况,请使用kill -9 PID杀死进程,重启Tomcat,然后在IDEA中重新运行debug,本例为:kill -9 12064

容易出现的问题

  • 如果远程没有连接上,两个端口被占用或者防火墙屏蔽。除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,这个如果防火墙关闭了的话就不用考虑,如果使用了防火墙,还需要查看它监听的端口。
  • 账号的相应的读写权限一定要有;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 关于Tomcat服务器无法打开tomcat7w.exe的解决办法

    今天配置Tomcat服务器的时候遇到了一点问题,提供借鉴.关于配置教程网上很多自己参考,如果遇到问题可以查看下面这个链接基本说的比较详细:https://zhidao.baidu.com/question/874079261073744612.html 主要是配置完之后打开tomcat7w.exe仍然打不开,当时以为没有配置好,尝试了很多办法,依然打不开.但是后来发现虽然这个文件打不开但是在cmd命令执行: 执行结果最后出现信息: 这时候才忽然发现,其实早就配置好了Tomcat只是tomcat7

  • tomcat加载jar异常问题的分析与解决

    现象描述: 项目使用springboot启动一个web项目,在启动阶段看到console中出现了异常"1.10.3-1.4.3\hdf5.jar  系统找不到指定的文件",虽然这些异常不影响项目的正常运行,但作为一个严谨的技术人员,看到这些异常就像见到仇人一样,一定要除之而后快. java.io.FileNotFoundException: D:\.m2\repository\org\bytedeco\javacpp-presets\hdf5-platform\1.10.3-1.4.3

  • Tomcat7.0设置虚拟目录配置虚拟路径的方法讲解

    Tomcat7.0设置虚拟目录 (1)目前,我们的网站站点都是放在默认的目录下:tomcat/webapps/下的.但是,在某种情况下,我们需要把站点放到其他的目录,比如:tomcat所在磁盘的空间不足: 或者为了项目的统一管理,希望放在某个特定的目录下而不是默认的目录. (2)那么我们就是用今天的方法解决这个问题(同样是修改config/server.xml文件): (3)按照下边的图片找到server.xml文件(config-----server.xml记事本打开即可) (4)打开之后拉到

  • 详解tomcat设置默认路径致使项目url冲突解决方法

    前言 tomcat作为java容器非常出色,但是依然会有一些避之不及的小坑,在此记录一笔. START 问题 部署多个项目后url路径冲突 情景描述 1.webapps下有两个项目 projectA,projectB.两个项目除开管理信息接口,其余都有安全验证机制. 2.projectA由于未做前后端分离,因此静态资源也存在java项目中.在做静态资源中的接口请求时未写包名,比如登录,js代码会拼接服务器ip+端口+当前设置的url(/login),而未在/login前加上/projectA,所

  • Tomcat使用Log4j输出catalina.out日志

    Tomcat默认的日志是用java.util.logging,有几点不足,文件catalian.out不能像log4j一样按天生成,将越来越大.日志格式和项目中用log4j打出来的不一致,不利于解析. 从tomcat官网(https://tomcat.apache.org/tomcat-7.0-doc/logging.html)上找了下,修改一些配置.替换扩展包即可使用log4j输出catalian.out. 在$CATALINA_BASE/lib下创建log4j.properties文件 lo

  • Linux下Tomcat的几种运行方式讲解

    Linux下Tomcat的启动.关闭 在Linux系统下,启动和关闭Tomcat使用命令操作. 进入Tomcat下的bin目录 cd /java/tomcat/bin 启动Tomcat命令 ./startup.sh 停止Tomcat服务命令 ./shutdown.sh 执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep tomcat 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程.网上看了

  • Tomcat默认程序发布路径的使用与修改方法讲解

    tomcat7默认的程序发布路径为tomcat/webapps/ROOT/下面. 例子 比如我在tomcat/webapps/ROOT/路径下新建一个jsp文件,则可以直接通过URL为: http://localhost:8080/index.jsp 来访问. 再比如我做文件的上传和下载功能时,可以在ROOT下新建一个FileUpload文件夹,把上传文件的路径设为这个文件夹下,然后上传一个文件test.txt:做下载功能时,点击该文件的下载按钮,可以直接让网页打开一个URL: http://l

  • 服务器Apache与Tomcat和Nginx的理解和对比分析详解

    1 问题 公司服务器用的Apache,后台是php语言,然后服务端用的linux C/C++,会经常听到Apache服务器,然后之前实习的公司服务端用的java,然后依稀记得使用了nginx反向代理服务器和tomcat,请求先经过nginx然后再去通过tomcat转发请求,然后对Apache服务器和tomcat和nginx理解就有点模糊了,然后今天查阅相关资料对使用场景和进行对比 2 Apache.Tomcat .Nginx名词解释 1 ) Apache Apache HTTP服务器是一个模块化

  • Tomcat中的Connector配置讲解

    JBoss使用Tomcat作为Web容器,因此在JBoss中对于Web容器的配置也类似于在Tomcat中的配置,主要就是对于 server.xml文件的编辑,在JBoss 5.x中,这个文件位于${JBOSS.HOME}\server\${confifure}\deploy\jbossweb.sar下,其中 configure的值可以是all, default,web,standard, minimal等.下面的代码展示了一个JBoss default配置下的server.xml,由于篇幅原因,

  • IDEA导入eclipse项目并且部署到tomcat的步骤详解

    前言 本文主要给大家介绍了关于IDEA导入eclipse项目并部署到tomcat的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 步骤如下: 1.首先引入本地项目 我这里是maven项目就直接选择的以maven项目引入,如果选eclipse的话,pom文件不会被初始化,部署tomcat会出问题 这项选完后,就一路next,jdk可以在引入的时候选择,也可以引入后在配置,注意jdk版本要与项目一致 现在项目就从成功引入进来了,可能现在项目会有一大堆红杠,是因为项目还没有配

随机推荐