无法在Intellij IDEA中设置Java断点

Cap*_*tti 49 java debugging google-app-engine intellij-idea

我正在尝试将断点放入GoogleAppEngine源代码(SDK 1.7.0),但IDEA Ultimate(11.0.2)只是告诉我Warning: No executable code found at line 482 in class com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.

当我从单元测试中运行代码并启动开发服务器时,我收到此错误消息.

这是相当年轻的.无论如何,我的源是在外部(相对于IDEA主页和项目主页)目录,我的jar文件在Appengine SDK lib目录下.

我的jar文件作为项目库添加​​到模块中,我的源文件附加到此库.我也在玩模块依赖,但没有任何运气.最后我决定把这个库放到Compile范围内,但这是一个坏主意,因为SDK在运行时提供这些jar,所以我决定回到提供范围.

我还使用了模块依赖项选项卡上的导出复选框,但我认为这是无关紧要的,根据Web帮助,只有当您拥有依赖模块并且您希望在这些模块中使您的库可用时,导出才很重要.

无论如何,这个问题也出现在4年前.所以我现在想知道解决这个问题是否真的很难?

我现在非常失望.到目前为止我对IDEA没有任何问题......我看到这个问题也出现在其他人身上,所以这不是我想的那么独特.

任何帮助表示赞赏.


由于我javap在下面的实验,我编辑了我的问题:似乎类和源不是不同步的.我查看了SVN的1.7.0相关版本,我使用的是1.7.0 SDK,所以这些版本根本不应该是不同步的.

Mat*_*hen 68

我遇到了类似的问题,并且已经进行了各种尝试.以下是我通常的步骤:

  1. 如果您使用的是Maven依赖项,请转到Maven Projects - > refresh
  2. 如果这不起作用,请尝试顶部菜单 - >构建 - >重建项目
  3. 如果仍然无效,请尝试顶级菜单 - >文件 - >无效缓存/重启
  4. 如果仍然无效,则$ CATALINA_BASE/bin/catalina.sh停止,然后启动

在此之后,通常它涵盖了99%的问题.否则,您可能需要检查一些其他可能性.


vai*_*v.g 16

我在Intellij遇到了类似的问题.我无法在其中一个代码片段上放置断点,我更改了代码的行号,然后我能够放置断点.看起来像intellij中的一个错误


Ste*_*n C 7

我发现了一些其他人报告IDEA说"没有找到可执行代码"的案例.一种常见的模式是他们试图调试没有调试信息的代码.检查您是否使用"-g"标志(或等效)集进行编译.

  • 这不适合我.事实上,我从来没有在IDEA中使用过"-g"标志,而且大多数时候我都能调试我的代码. (2认同)

小智 6

我能够通过重新编译有问题的类来解决这个问题:Build -> Recompile (filename.java)


小智 6

我有同样的问题。我不知道为什么,但对我来说帮助添加了代码中的任何修改,例如添加或删除注释。奇怪,但它解决了我的问题