tomcat远程debug配置(完全正确版)

410 阅读2分钟

PS:全网都在让我改catalina,一直不成功,然后我发现所有文章的用的截图都是那一套!!!本套100%有用,有问题直接写评论区

之前开发一个功能,本地(windows)测试好好的,一上服务器(centos)就报错,其实最好的办法就是debug,但服务器又没界面,那如何debug呢

!!!注意!!!

在remote debug时,整个服务由多线程变成单线程,如果debug住这时去上厕所,那直接炸裂(刚刚发生这种事)

远程debug服务配置与启动

linux

修改startup.sh,在#!/bin/sh下面填写

declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"

注意:address后面就是远程debug用的端口

image.png

然后直接sh ./startup.sh就好了,一般情况下输出信息都有有这一条

image.png (PS:网上说改catalina的都去死!!!谁家用catalina去部署服务啊)

更新

好吧,我错了,确实有的小伙伴公司用catalina.sh run命令去运行,那加一下

在catalina.sh下面加上CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" 就可以了,和之一样,address是端口

windows

修改startup.bat,在setlocal下面加一行

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

注意:address后面就是远程debug用的端口

image.png 之后运行运行startup.bat就可以了 (PS:window不熟,就不展示了啊哈哈哈哈哈哈)

IDEA配置

配置一下remote,port设置成startup.sh里配置的address=8000就可以了

image.png

运行启动,显示如下,并能debug住测试用的代码就行了

可能出现的问题

如果出现以下报错 image.png 推荐排查顺序:

  1. tomcat服务是否启动成功
  2. 本地telnet debug地址是否通的
  3. IDEA端口是否正确