最近需要调试一个服务器java代码,手动加输出之后,觉得很累啊,查了一下,果然有调试方式。
坑点:服务器端指定address时只要指定port就好了,ip会默认为0.0.0.0
上链接:
http://blog.sina.com.cn/s/blog_6af189790102wh6c.html
以防万一,复制来:(万一失效岂不jj)
一、Idea处于client模式,调试远端程序
Server执行方法1:java命令
java -cp *.jar -agentlib:jdwp=transport=dt_socket,server=y,address=127.0.0.1:5005,suspend=y MainClasss
注意这里的Host和Port要和Idea配置相照应
Server执行方法2:mvnDebug命令
mvnDebug exec:java -Dexec.mainClass="MainClass"
配置(vim或者文件模式打开mvnDebug):
MAVEN_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
Client执行方法:Idea配置
二、Idea处于server模式,被远端程序调试
Client执行方法1:java命令
java -cp *.jar -agentlib:jdwp=transport=dt_socket,server=n,address=127.0.0.1:8000,suspend=y MainClasss
Client执行方法2:mvnDebug命令
mvnDebug exec:java -Dexec.mainClass="MainClass"
配置:
MAVEN_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
Server端执行方法:Idea配置
- 和上面配置较为相似,只有最后一步有出入,要设置为Listen模式,并且Host是本地IP,这里就首先要运行Idea debug,然后再执行Client端
参考:
mvnDebug exec:java -Dexec.mainClass="MainClass"
http://www.trinea.cn/android/maven/
http://www.javaranch.com/journal/200408/DebuggingServer-sideCode.html
http://stackoverflow.com/questions/2935375/debugging-in-maven
http://stackoverflow.com/questions/22229088/intellij-idea-13-debugger-dont-stop-on-breakpoint-in-java-for-maven-project
http://www.searchsoa.com.cn/showcontent_59826.htm