【问题标题】:How to start debug mode from command prompt for apache tomcat server?如何从命令提示符启动 apache tomcat 服务器的调试模式?
【发布时间】:2013-05-17 08:35:05
【问题描述】:

我想为我的应用程序启动调试模式。但我需要从命令提示符启动调试模式。可能吗 ?从tomcat 5.5到tomcat 6的过程会有所不同吗?

【问题讨论】:

标签: java tomcat


【解决方案1】:

简短的回答是在 JVM 启动时添加以下选项。

JAVA_OPTS=" $JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8080"

【讨论】:

  • 当使用 JAVA_OPTS -Xdebug 时,你不需要用 jpda 启动 catalina。否则你可能会得到这个ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
【解决方案2】:

如果您想通过 Windows 上的 powershell 执行此操作,这对我有用

$env:JPDA_SUSPEND="y"

$env:JPDA_TRANSPORT="dt_socket"

/path/to/tomcat/bin/catalina.bat jpda start

【讨论】:

    【解决方案3】:
    在窗户上
    $ catalina.bat jpda start
    
    在 Linux/Unix 上
    $ catalina.sh jpda start
    

    更多信息---->https://cwiki.apache.org/confluence/display/TOMCAT/Developing

    【讨论】:

    • 谢谢,这有助于我在startup.sh 中设置调试选项。将tomcat/bin/startup.sh 中的最后一行编辑为exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"。我总是忘记在调试模式下启动,我可以节省 5 分钟的重启时间。
    【解决方案4】:

    在调试模式下运行tomcat有两种方式

    1. 使用 jdpa 运行

    2. 使用 JAVA_OPTS

    首先设置环境。然后使用以下命令启动服务器。

    export JPDA_ADDRESS=8000
    
    export JPDA_TRANSPORT=dt_socket
    
    %TOMCAT_HOME%/bin/catalina.sh jpda start
    
    sudo catalina.sh jpda start

    请参阅此article 了解更多信息,这是明确定义的

    【讨论】:

      【解决方案5】:

      这些说明适用于我在 mac os 10.13.3 上使用 jdk1.8.0_152 的 apache-tomcat-8.5.20:

      $ cd /path/to/apache-tomcat-8.5.20/bin
      $ export JPDA_ADDRESS="localhost:12321"
      $ ./catalina.sh jpda run
      

      现在从 IntelliJ/Eclipse 连接到端口 12321 并享受远程调试。

      【讨论】:

        【解决方案6】:
        1. 在您的 IDE 中,创建一个远程调试配置,将其配置为默认的 JPDA Tomcat 端口,即端口 8000。

        2. 从命令行:

          Linux:

          cd apache-tomcat/bin
          export JPDA_SUSPEND=y
          ./catalina.sh jpda run
          

          窗户:

          cd apache-tomcat\bin
          set JPDA_SUSPEND=y
          catalina.bat jpda run
          
        3. 从您的 IDE 执行远程调试配置,Tomcat 将开始运行,您现在可以在 IDE 中设置断点。

        注意:

        JPDA_SUSPEND=y 行是可选的,如果您希望 Apache Tomcat 在第 3 步完成之前不开始执行,它很有用,如果您想解决应用程序初始化问题,它很有用。

        【讨论】:

          【解决方案7】:

          在 catalina.bat 中设置您希望启动调试器的端口

          if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
          set JPDA_ADDRESS=9001
          

          然后您可以简单地使用

          启动调试器
          catalina.bat jpda 
          

          现在从 Eclipse 或 IDEA 选择远程调试并通过连接到端口 9001 开始调试。

          【讨论】:

            【解决方案8】:

            对于windows先设置变量:

            set JPDA_ADDRESS=8000
            set JPDA_TRANSPORT=dt_socket
            

            以调试模式启动服务器:

            %TOMCAT_HOME%/bin/catalina.bat jpda start
            

            对于 unix 第一个导出变量:

            export JPDA_ADDRESS=8000
            export JPDA_TRANSPORT=dt_socket
            

            并以调试模式启动服务器:

            %TOMCAT_HOME%/bin/catalina.sh jpda start
            

            【讨论】:

            • 嗯,是的,虽然在 catalina.bat 中提到了 8000 和 dt_socket 作为默认值,但实际上您必须像上面的帖子中那样设置它们:/
            • 直截了当的回答,它对我有用+1。拯救了我的一天
            【解决方案9】:

            首先,导航到TOMCAT-HOME/bin 目录。

            然后,在命令行中执行以下命令:

            catalina.bat jpda start
            

            如果Tomcat服务器在Linux下运行,只需调用catalina.sh程序

            catalina.sh jpda start
            

            Tomcat 5.5 和 Tomcat 6 相同

            【讨论】:

            • 你能告诉我相当于Tomcat 7.0吗?
            猜你喜欢
            • 2016-02-28
            • 2014-10-18
            • 2014-10-28
            • 2018-04-27
            • 1970-01-01
            • 1970-01-01
            • 2011-12-11
            • 1970-01-01
            • 2018-08-26
            相关资源
            最近更新 更多