一、 前提
需要准备JDK1.8环境,安装IDEA(版本不限)
二、 IDEA中如何实现远程Debug模式
(1)、创建demo项目
1.File一>New一>project…
2.Maven Archetype一>填写Name一>选择jdk1.8一>选择Web一>创建
(2)、配置Idea
找到Remote Jvm Debug
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar remote-idea.jar
2.修改启动命令
选择 jdk 5-8,则为
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
选择 jdk9以上,则为
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
据说因为jdk9变得安全了,远程调试只允许本地,如果要远程,则需要在端口前配置*
参数
transport:debugee与debuger调试时之间的通讯数据传输方式。
server:是否监听debuger的调试请求。
suspend:是否等待启动,也即设置是否在debuger调试链接建立后才启动debugee JVM。
address:debugee的地址,用于debuger建立调试链接。
3.开放端口
如果是linux服务器并且开启了防火墙需要开放配置的端口
iptables -A INPUT -p tcp --dport 5005 -j ACCEPT
TOMCat的启动配置文件里面增加这句-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7088
完整配置如下
JAVA_OPTS="-Ddeployment.mode=independent ${java_args} -verbose:gc -Xloggc:${LOG_BASE_PATH}/gc.log -Djava.awt.headless=true -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+UseGCLogFileRotation -XX:GCLogFileSize=50M -XX:NumberOfGCLogFiles=10 -Djava.io.tmpdir=$ROOT_PATH/tmp -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7088 "