VScode attach模式 / IDEA / Eclipse 远程调试tomcat容器内部署的应用

文章目录

  • 坑点!一定要注意
  • 设置参数
  • 远程模式启动

坑点!一定要注意

要以远程调试模式启动tomcat!!! 并非以下三种

catalina run
或
catalina start
或
startup.bat

这三种只是普通的启动tomcat容器

设置参数

由于我是用的编辑器VSCode, 没有开发环境那么方便, 我就直接赤裸裸地加到环境变量里了

添加系统环境变量如下一条

JAVA_OPTS = -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y

或者在catalina.bat里添加

JPDA_TRANSPORT=dt_socket
JPDA_ADDRESS=8000
JPAD_SEVER=y
JPAD_SUSPEND=n

以上对应三个参数分别为:

指定运行的被调试应用和调试者之间的通信协议,
远程被调试应用开通的端口,
server=y 表示这个 JVM 即将被调试,
suspend=n 用来告知 JVM 立即执行,不要等待未来将要附着上/连上(attached)的调试者. 如果设成 y, 则应用将暂停不运行, 直到有调试者连接上

这里8000端口可以是其他的, 但是一定要保证未被占用! 像8080直接否决, 访问tomcat
不就这个吗!

设置的这个8000就需要记录下来, 在编辑器或者IDE中配置就要用到, 再强调一遍调试端口是8000, 启动端口是8080, 这俩不一样!

远程模式启动

直接操作 catalina, 我们先来看一下 catalina的命令

┌[syouSui@AMBITIOUSNESS] [ master ↑1 +41 ~11 -0 | +17 ~65 -107 !] [x] 
└[F:\myJavaCode\MavenTest\JavaWebStudy]> catalina
Using CATALINA_BASE:   "F:\IDE\JavaWeb_About\apache-tomcat-8.5.47"
Using CATALINA_HOME:   "F:\IDE\JavaWeb_About\apache-tomcat-8.5.47"
Using CATALINA_TMPDIR: "F:\IDE\JavaWeb_About\apache-tomcat-8.5.47\temp"
Using JRE_HOME:        "F:\IDE\Java\jdk1.8.0_202"
Using CLASSPATH:       "F:\IDE\JavaWeb_About\apache-tomcat-8.5.47\bin\bootstrap.jar;F:\IDE\JavaWeb_About\apache-tomcat-8.5.47\bin\tomcat-juli.jar"
Usage:  catalina ( commands ... )
commands:
  debug             Start Catalina in a debugger
  debug -security   Debug Catalina with a security manager
  jpda start        Start Catalina under JPDA debugger
  run               Start Catalina in the current window
  run -security     Start in the current window with security manager
  start             Start Catalina in a separate window
  start -security   Start in a separate window with security manager
  stop              Stop Catalina
  configtest        Run a basic syntax check on server.xml
  version           What version of tomcat are you running?

选择第三命令, 这是远程启动调试模式, 虽然性能会差一些, 但这才是远程调试启动模式!!!

catalina jpda start

你可能感兴趣的:(#,Java,Web,记录,#,VSCode配置全能环境!)