【问题标题】:Remote debugging Tomcat with Eclipse - breakpoints ignored使用 Eclipse 远程调试 Tomcat - 忽略断点
【发布时间】:2014-01-14 12:27:15
【问题描述】:

问题:

无法调试部署在 Tomcat 7 中的 java Web 应用程序。 Eclipse 似乎连接到 Tomcat,但是当我尝试调试时,断点被忽略。我做了以下事情:

首先我也试过了:Remote debugging Tomcat with Eclipse.

  1. 以调试模式启动Tomcat7:

    set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
    catalina.bat jpda start
    
  2. 使用host : localhostport : 8000 调试为-> 远程Java 应用程序。

  3. 在 servlet 上创建了几个断点,请求应该暂停并让我调试,但就像没有设置断点一样。

谢谢大家,
丹尼尔

附:这是我的第一个问题,所以请善良

【问题讨论】:

    标签: java eclipse debugging tomcat tomcat7


    【解决方案1】:

    一种可能的解释是您的 WAR 文件(部署在 Tomcat 上)中的类文件不包含行号。

    如果您告诉我们使用哪个编译器和编译器插件(Oracle javac、Eclipse、ANT、Maven 等)生成了类文件以及使用了哪些设置,我们或许能够提供更多详细信息。

    更新

    作者在评论中说ANT是用来编译的。后续:

    ANT javac task 只是具体编译器的封装。因此,您可以设置的选项取决于实际的javac。但是,您正在寻找的是debug="true" debuglevel="lines"。然后 ANT 会将-g:lines 传递给javac(参见docs)。

    旁注:optimize="true" 被忽略(查看文档)。

    【讨论】:

    • 我正在使用带有默认 Ant Plugin 的 Eclipse Juno。我已经编写了 build.xml 并从 Ant 角度运行了我的任务。实际的构建(编译)通过以下方式完成:
    • 感谢@Marcel 的帮助。您的回答帮助我解决了断点问题,并确保 java 和 javac 使用相同的 java 版本帮助我解决了新发现的问题(调试时我看不到局部变量值)。新年快乐。
    猜你喜欢
    • 1970-01-01
    • 2017-07-20
    • 2011-04-19
    • 2014-07-17
    • 2013-10-25
    • 2013-02-13
    • 2011-08-14
    • 2014-04-03
    • 1970-01-01
    相关资源
    最近更新 更多