远程调试

102 阅读1分钟

服务运行时配置允许远程调试

Java se 5之前版本使用(基本不用):java -Xdebug -Xrunjdwp:...

Java se 5之后版本使用:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9093 -jar xxx.jar

解释

  • java -agentlib:jdwp=:这是基础命令,后面跟着参数
  • transport:可选 dt_socket(常用)、dt_shmem(支持有限)
  • server:是否作为调试的服务端使用,默认n
  • suspend:启动后是否阻塞服务,直到被链接,默认y(阻塞),一般在服务启动报错,需要调试时才使用
  • address:对外暴露的端口,默认8080,不能和项目本身端口冲突
  • onthrow:当服务抛出指定异常时,中断调试
  • onuncaught:当服务抛出未捕获异常时,是否终端调试,默认n
  • launch:当调试中断时,执行指定程序
  • timeout:超时时间(ms)

IDEA开启远程调试

  1. 点击 Edit Configurations

image.png

  1. 添加 Remote JVM Debug

  2. 配置服务所在服务器IP和PORT

image.png