IDEA-断点、调试、远程JVM调试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA-断点、调试、远程JVM调试相关的知识,希望对你有一定的参考价值。
参考技术A 应用场景:遍历时只想看满足某情况的断点。IDEA断点不能一步步回退,只能回退到目标方法被调用的地方。
添加启动参数,下面举个例子( -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 是上面复制的):
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar ioewvsau-1.0.0.jar
# Jvm 远程调试配置
Jvm 远程调试配置
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 远程调试
以上是关于IDEA-断点、调试、远程JVM调试的主要内容,如果未能解决你的问题,请参考以下文章