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用的端口
然后直接sh ./startup.sh就好了,一般情况下输出信息都有有这一条
(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用的端口
之后运行运行startup.bat就可以了
(PS:window不熟,就不展示了啊哈哈哈哈哈哈)
IDEA配置
配置一下remote,port设置成startup.sh里配置的address=8000就可以了
运行启动,显示如下,并能debug住测试用的代码就行了
可能出现的问题
如果出现以下报错
推荐排查顺序:
- tomcat服务是否启动成功
- 本地telnet debug地址是否通的
- IDEA端口是否正确