Intellij idea intellijtomcat中的远程调试

Intellij idea intellijtomcat中的远程调试,intellij-idea,Intellij Idea,如何使用Tomcat从IntelliJ启用远程调试?使用Tomcat。单击按钮并选择新建远程配置。在Configuration选项卡中,复制IDEA建议的JVM选项 使用建议的JVM选项运行Tomcat: set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=1317,suspend=n,server=y startup 按IDEA中的调试按钮 否则与本地Tomcat相同 请注意,部署到Tomcat是非常困难的,但您仍然可以自己

如何使用Tomcat从IntelliJ启用远程调试?

使用Tomcat。单击按钮并选择新建
远程
配置。在
Configuration
选项卡中,复制IDEA建议的JVM选项

使用建议的JVM选项运行Tomcat:

set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=1317,suspend=n,server=y
startup
按IDEA中的调试按钮

否则与本地Tomcat相同


请注意,部署到Tomcat是非常困难的,但您仍然可以自己手动部署到Tomcat,并使用免费版使用Java的远程调试功能。

只需使用以下命令启动catalina即可:

catalina jpda start
默认情况下,tomcat将在端口8000上启动并侦听


另请参见

如果您使用Maven,那么在IntelliJ IDEA 12中对运行在Tomcat 7中的web应用程序进行远程调试非常方便

只需将pom文件配置为使用tomcat7 maven插件,例如:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
</plugin>

org.apache.tomcat.maven
tomcat7 maven插件
2
然后使用“Maven项目”工具窗口在调试模式下启动tomcat7:run目标(参见屏幕截图)


假设您独立启动Tomcat,并从IntelliJ IDE远程将调试器连接到它

1) Start Tomcat in debug mode
   $TOMCAT_HOME/bin/catalina.sh jpda start

   By default JPDA_ADDRESS is defined as "localhost:8000" in catalina.sh
   Change to a different port as need

2) In IntelliJ IDE
   Click Run > Edit Configurations
   Click + icon on the top-left toolbar
   Click Remote
   Enter a name you want in Name input box
   Enter 8000 in Port input box under Settings section

3) Click Apply, then OK
4) Run > Debug..., Click the configuration you just created
注:

1) This should work with other remote JPDA instances such as WebLogic, JBoss, etc.
2) Documentation environment: Linux, IntelliJ IDEA 15.0.2

将这两行添加到您的
bin/setenv.sh

export JPDA_ADDRESS="5005"
export JPDA_TRANSPORT="dt_socket"
在IntelliJ IDEA中添加远程运行/调试配置。(见@Jonathan L的答案)。您可以保留默认端口“5005”

启动tomcat

catalina.sh jpda run
然后只需在IDE上运行调试即可。

您可以设置

export CATALINA_OPTS="$CATALINA_OPTS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
bin
tomcat目录(远程服务器)中的
setenv.sh
文件中,重新启动它


然后,只需在intellij的运行/调试配置中添加
Remote
,并在intellij Idea中设置
Host
到远程服务器和
Port
8000

  • 单击运行编辑配置添加新配置(“+”图标)

  • 单击远程

  • 设置主机和端口

  • 复制运行远程JVM的命令行参数的内容,例如:

    -agentlib:jdwp=transport=dt\u socket,server=y,suspend=n,address=*:8000

  • 如果使用Tomcat服务(适用于Tomcat 9):

  • 转到%TOMCAT\u INSTALL\u DIR%/bin

  • 运行tomcat9w.exe

  • 单击Java选项卡

  • 在Java选项中,粘贴复制的文本:

    -agentlib:jdwp=transport=dt\u socket,server=y,suspend=n,address=*:8000

  • 申请

  • 步骤1(如何启动tomcat):

    步骤2(将Intellij与远程端口连接):


    TOMCAT配置说明

    远程调试工作的过程包括两个步骤

    有两种方法可以完成第一部分,根据Tomcat实例运行的操作系统环境的不同,这两种方法略有不同。但是,无论使用何种方法,配置背后的主要思想都是一样的;这就是:将特定的启动选项传递给JVM,以启用远程调试

    如果您让Tomcat作为windows服务运行,那么只需在运行属性中指定启动参数,就可以配置Tomcat启动并进行远程调试

    打开Apache Tomcat属性对话框:

    Apache Tomcat/bin/tomcat9w.exe

    在Java选项卡下添加所需的启动选项:

    -agentlib:jdwp=transport=dt\u套接字,地址=1043,服务器=y,挂起=n

    配置IntelliJ IDEA

    当远程JVM运行Tomcat并使用所需的启动参数启动时,接下来要做的是在IntelliJ IDEA中配置调试器

    打开编辑配置设置并选择远程选项:

    此时会出现“远程设置”对话框,您可以在其中指定所需的配置;远程主机、端口、项目等

    指定所需的设置,单击“确定”保存更改,然后启动调试会话。您还应该看到IntelliJ已成功连接到远程VM的通知


    完成此操作后,您应该打开在远程Tomcat上运行的应用程序的源代码,在需要的地方放置断点,然后继续并开始调试,就像应用程序在本地计算机上运行一样。

    注意-如果使用“catalina jpda run”,远程调试将起作用,Tomcat将在您的控制台中运行,这有时很有帮助。export JPDA_ADDRESS=0.0.0.0:8000 sh catalina.sh JPDA start 0.0.0允许从所有接口启动。您还可以配置为一个IP。这是设置调试的好方法。但是,我认为这设置了本地调试,远程调试的问题。这并没有回答OPs问题。在VM初始化期间发生错误。。。错误:无法加载此JVM TI代理两次,请检查java…命令行中重复的jdwp选项。。。代理库无法初始化:jdwp。。。与服务器断开连接…我担心这些建议毫无意义-它们适用于一些非常旧的IntelliJ版本。重要提示:address参数需要是一些高端口,以避免Linux主机上出现问题。只有当我尝试使用25239或类似的东西时,它才起作用:)您还可以将maven部署设置为tomcat。将以下内容添加到pom.xml
    org.apache.tomcat.maven tomcat7 maven插件2.2 tomcat s3crethttp://localhost:8081/manager           本地主机/门户
    。然后从Intellij run maven
    tomcat7:deploy
    。如何在Windows上检查和配置Tomcat JVM选项:有关信息:“编辑配置”在“运行”菜单下,这对我很有用。
    cd /C/SOFTWARE/apache-tomcat-8.5.38/bin 
    JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,address=54470,suspend=n,server=y' sh catalina.sh start
    ps aux | grep java
    
    Run/Debug Configurations
        Tab: Server:
           Application Server: Type "Tomcat 8.5.38"
           Open browser -> URL -> http://localhost:8080/
           Tomcat Server Settings -> Type -> Same File System
                                  -> Host -> Same File System
    
           Remote Connection Settings
                               -> Host -> localhost
                               -> Port -> 8080
    
    Startup/Connection Tab
           Run -> No specific parameters needed.
           Debug -> -agentlib:jdwp=transport=dt_socket,address=54470,suspend=n,server=y
    
     1. Starting Tomcat with remote debugging enabled
     2. Having your IDE, in my case IntelliJ IDEA, to be able to debug the remote tomcat application.
    
    Restart your server now.    
    Close and go to your IDE.