首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Intellij IDEA远程调试无效断点

Intellij IDEA远程调试无效断点
EN

Stack Overflow用户
提问于 2017-12-28 07:43:34
回答 5查看 5.6K关注 0票数 6

大家好!

我正在尝试用Intellij远程调试在tomcat 7上调试我的java8应用程序。问题是,当我在idea中运行调试时,我的断点设置为无效,消息如下:

行号信息在pathToClass类中不可用

以下是来自JAVA_OPTS的catalina.bat设置:

代码语言:javascript
复制
set "JAVA_OPTS=%JAVA_OPTS% -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999 %JSSE_OPTS%"

以下是IDEA的远程调试设置

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-12-28 19:54:46

在构建过程中的某个阶段,Java代码被编译成带有javac编译器的类(或类似的东西)。编译器有一个选项可以包含调试信息(包括行号),这些信息显然还没有启用。

对于普通的javac,添加-g

对于ant,将debug="true"添加到javac任务中。

对于Maven,maven编译器插件的默认配置会添加调试信息,因此必须取消要取消的显式设置。

票数 9
EN

Stack Overflow用户

发布于 2017-12-28 08:30:15

在构建过程中的某个阶段,Java代码被编译成带有javac编译器的类(或类似的东西)。编译器有一个选项可以包含调试信息(包括行号),这些信息显然还没有启用。如何编译代码?-Thorbj rn Ravn Andersen

在javac中添加debug="true"选项来解决这个问题。谢谢每一个帮忙的人。

票数 2
EN

Stack Overflow用户

发布于 2020-02-10 07:05:51

我也有同样的问题。但是这个公认的答案并没有为我解决这个问题。在我的例子中,根本原因是由三叶草插件引起的干扰。

为了调试这个问题,我比较了类A.java的源代码和A.class的反编译代码。反编译版本中有一堆垃圾是由三叶草产生的。我刚刚从项目中删除了三叶草插件,删除了build文件夹,使缓存失效并重新启动了IDEA。我添加了断点并在调试中运行它。瞧!这次成功了。

在你的情况下,它可能不是三叶草;它可能是别的东西。但是,最有可能的是,这个断点问题是由源代码和编译类之间的不匹配引起的。验证的最佳方法是将反编译类与其源进行比较。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48003590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档