java 远程Debug


  软件开发中很多时候我们需要远程进行Debug调试,java 可以以调试模式启动,启动后可以使用 jdb 对程序进行调试。以调试模式启动,需要加入以下参数:

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n myapp

下面是这些参数的意思:

-XDebug               启用调试。 
-Xnoagent             禁用默认sun.tools.debug调试器。 
-Djava.compiler=NONE  禁止 JIT 编译器的加载。 
-Xrunjdwp             加载JDWP的JPDA参考执行实例。 
transport             用于在调试程序和 VM 使用的进程之间通讯。 
dt_socket             套接字传输。 
dt_shmem              共享内存传输,仅限于 Windows。 
server=y/n            VM 是否需要作为调试服务器执行。 
address=4000      调试服务器的端口号,客户端用来连接服务器的端口号。 
suspend=y/n           是否在调试客户端建立连接之后启动 VM 

Tomcat的设置:

可以在对应tomcat实例CATALINA_BASE / bin下的setenv.sh文件中设置,如果没有该文件先创建该脚本文件然后在其中设置jvm参数

export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n"

 

下面讨论下spring-boot 对这方面的支持

spring-boot 从 1.3.0 添加了spring-boot-devtools 模块

 

 

http://blog.trifork.com/2014/07/14/how-to-remotely-debug-application-running-on-tomcat-from-within-intellij-idea/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM