【Web】Tomcat: 开启远程调试Remote Debugging模式

2018.11.01

文章目录

  • 前言
  • 方法
    • 方法一:`JPDA_OPTS`
    • 方法二(建议):`CATALINA_OPTS`
    • Old-fashioned方法

前言

Tomcat的远程调试模式是个常用且好用的功能,一旦项目部署到远程服务器上时(比如sit环境),就可以通过远程调试模式打断点进行debug。本文翻译自一技术博客1

方法

设置JVM启动命令参数就可以为Tomcat开启远程调试模式,可以通过JPDA_OPTSCATALINA_OPTSJAVA_OPTS来设置。但一般不推荐设置JAVA_OPTS,因为它会影响到JVM里的所有应用,而CATALINA_OPTS仅对Tomcat有效。

方法一:JPDA_OPTS

在CATALINA_HOME/bin目录下新建一个setenv.sh(Linux)或setenv.bat(Windows),添加如下内容:

# Linux
export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"
# Windows
set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"

一般建议采用setenv.*文件来设置额外的配置,而不是直接写进catalina.*中,而setenv.*文件会被Tomat自动读取。启动Tomcat:

<CATALINA_HOME>/bin/catalina.sh jpda start

方法二(建议):CATALINA_OPTS

类似地,新建setenv.*文件:

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

Old-fashioned方法

下面也是常见的参数配置,但它适用于Java 5.0之前的版本;上述配置则适用于Java 5.0及之后的版本。所以不推荐使用。

# 旧的配置方法
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=1043, suspend=n

  1. Enable Tomcat Remote Debug ↩︎

你可能感兴趣的:(Tomcat,Configuration,Web)