# Jvm 远程调试配置

Posted 爱码代码的喵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# Jvm 远程调试配置相关的知识,希望对你有一定的参考价值。

Jvm 远程调试配置

Idea 远程调试:# Idea 调试 Debug 技巧_爱码代码的喵的博客-CSDN博客_idea 逐行调试

Tomcat 配置远程调试

Linux系统

  • 编辑tomcat/bin目录下的catalina.sh文件
# 方案1
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788"
# 方案2
JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8788'
  • taomcat/bin/startup.sh开始处中增加如下内容:
# 方案3 
declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788"   

Windows 系统

  • Tomcat安装目录bin下的启动脚本 startup.bat中增加如下配置
# 方案1
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788
# 方案2
set CATALINA_OPTS=-Xdebug  -Xrunjdwp:transport=dt_socket,address=8788,server=y,suspend=n
  • 启动Tomcat,首行出现监听端口8788则说明配置成功

Java -jar 启动

  • 启动的时候必须加上特定的JVM参数
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=8788

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 log4j-test-0.0.1-SNAPSHOT.jar

检查调试端口是否打开

  • 调试端口开发说明配置生效,才能使用调试工具连接调试。

Linux系统

telnet 127.0.0.1 5001
nc -v 127.0.0.1 5001
netstat -aptn |grep -i 5001

Windows 系统

netstat -ano|findstr "5001"
telnet 127.0.0.1 5001

注意

  • 需要调试的代码必须和服务其部署的代码版本一致

Idea 远程调试

以上是关于# Jvm 远程调试配置的主要内容,如果未能解决你的问题,请参考以下文章

如何调试 ngrok 隧道暴露的远程 JVM

[Java代码审计]——远程调试初探

Elasticsearches 远程调试

java进行远程部署与调试及原理解析

IDEA进行远程调试

使用 IntelliJ IDEA 远程调试 Tomcat