[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]

Posted infoworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]相关的知识,希望对你有一定的参考价值。

场景

  1. 在开发JavaWeb程序时, 正式环境上部署的服务器往往都是tomcat应用服务器. 那么如果需要进行调试网站的访问代码时,如何调试?

说明

  1. 在使用jfinal开发网站时,可以使用它自带的undertow嵌入式应用服务器像本地代码一样调试。但是部署到应用服务器总是得使用一个稳定,资料丰富,可定制的tomcat来运行网站更可靠。因此就会出现使用使用undertow开发,而正式部署上用tomcat的情况.

  2. 使用IntelliJ IDEA Community 2021.1.2版本可能会少那么些集成的收费功能,比如Tomcat远程调试集成。所幸IntelliJ还保留了Remote JVM Debug的运行选项, 让我们可以通过JPDA(Java Platform Debugger Architecture)方式来调试远程的(非同一个进程的)JVM程序。

  3. tomcatcatalina.bat(Windows)或者catalina.sh(*nx)提供了一个运行参数JPDA_ADDRESS来启动这个远程调试端口,这个端口默认是8000, 所以8000端口被占用,那么可以修改catalina.bat文件里的默认8000端口。 接着需要命令行启动catalina.bat时传入jpda start两个参数。

$>catalina.bat jpda start
rem   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
rem                   command is executed. The default is localhost:8000.

创建调试步骤

  1. IntelliJ创建自定义的运行实例:

    • 菜单Run->Edit Configurations->点击+,选择Remote JVM Debug
    • 设置 Host: localhost(或者远程调试的IP) Port:前面介绍的JPDA端口8000.
    • 修改 Command line arguments....里的端口为8000.
      -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
      
    • OK

    图1:

  2. 命令行进入tomcatbin目录,输入catalina.bat jpda start启动tomcat.

  3. IntelliJ的工具栏,选好刚才创建的运行实例名称, 点击调试按钮, 如果成功会出现以下的提示。之后就是通常的设置断点,在浏览器输入url会在IntelliJ里停在断点处。

    Connected to the target VM, address: 'localhost:8000', transport: 'socket'
    

参考

  1. Intellij idea远程debug连接tomcat

以上是关于[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]的主要内容,如果未能解决你的问题,请参考以下文章

Intelli idea的web项目设置

[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]

[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]

[JavaWeb]_[初级]_[对Jfinal框架的Service层进行单元测试]

[JavaWeb]_[初级]_[对Jfinal框架的Service层进行单元测试]

[JavaWeb]_[初级]_[如何更换免费网站字体]