【发布时间】:2018-10-22 22:05:57
【问题描述】:
我正在使用 apache-tomcat-8.5.24 并在 Eclipse 中配置了工作区,并且 tomcat 可以正常工作。
虽然我需要做一些调试,但我不知道如何在 Eclipse 中使用从 cmd 运行的 tomcat 进入调试模式?我过去做过几次,但我总是从我的 IDE 以调试模式启动 tomcat。
【问题讨论】:
我正在使用 apache-tomcat-8.5.24 并在 Eclipse 中配置了工作区,并且 tomcat 可以正常工作。
虽然我需要做一些调试,但我不知道如何在 Eclipse 中使用从 cmd 运行的 tomcat 进入调试模式?我过去做过几次,但我总是从我的 IDE 以调试模式启动 tomcat。
【问题讨论】:
您必须在 tomcat 上启用远程调试,需要在 tomcat startup.sh 或 tomcat.start.sh 或添加 tomcat 启动属性的任何位置添加以下 catalina 属性:
CATALINA_OPTS="$CATALINA_OPTS -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"
然后重启tomcat。
完成后,你需要打开eclipse,进入“Debug --> Debug Configurations --在搜索框输入”remote java application”,新建,然后选择您要调试的模块/java 项目,并提供与上述命令中相同的端口号(即上例中的 8787)。然后应用并启动。
【讨论】:
虽然其他答案可能会解决某人的问题,但它并没有解决我的问题。虽然我遵循并解决我的问题的方式是:
首先你启动tomcat(所有服务启动),然后你在eclipse中启动调试模式!!!
对于 tomcat,我使用 catalina.bat jpda run 启动我的 tomcat,我只是对其进行了编辑并按如下方式使用它:
catalina.bat jpda run - agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
对于日食:
1)在 Eclipse 的菜单中,选择 Run > Debug Configurations...
2)会出现一个新的调试配置窗口
3) 在左侧列表中,选择远程 Java 应用程序。别担心 这里的“远程”这个词太多了。这只是意味着JVM 进程可以在本地机器上,也可以在另一台机器上 网络。
4)在上下文菜单中选择新建(您可以右键单击查看 选项,或选择列表上方的图标)
5)将出现一个新的远程Java应用程序调试配置窗口
6) 将名称字段更改为“Tomcat(本地)”,或者您的名称 Web 应用程序,您的选择。你放在这里的名字可以是任何东西, 但越短越好,因为名称会显示在菜单中。
单独的 Tomcat JVM 的 Eclipse 运行配置
至少有三个配置子选项卡:连接、来源、 和常见的。在 Connect 子选项卡下,有一个 Project 字段。选择 代表您要调试的代码的 Eclipse 项目。为了 例如,如果你想调试你的 webapp,选择你的 webapp 的 Eclipse 项目在这里。
所有其他默认设置都应该没问题。你应该可能 查看设置以查看是否要更改任何设置 选项,如果您不确定是什么,请注意更改设置 效果会。确保您在 连接子选项卡与您配置 Tomcat 的端口号相同 要监听的 JVM 调试服务器。
单击应用,然后单击调试。那时,你的 Eclipse 的调试器 将连接到您的 Tomcat JVM 的调试服务器。接下来,切换到 Eclipse 调试透视图。在 Eclipse 的菜单中,选择 Window > Open 透视图 > 调试。
【讨论】: