【问题标题】:IntelliJ IDEA: Breakpoint not being hit, and is shown without the tick, just a red dotIntelliJ IDEA:断点没有被命中,并且没有打勾,只是一个红点
【发布时间】:2018-03-23 09:18:18
【问题描述】:

我有一个 gradle 项目,当我放一个断点时,它显示为一个红点,里面有一个勾号,它工作正常。

问题是在某些类中(在同一个项目中,不是依赖类),红点里面没有勾号,也没有说明为什么它不起作用。而且它只是不起作用..:

到目前为止我尝试了什么:

  • Gradle 清理和构建
  • 重建项目
  • 重启调试
  • 使缓存无效并重新启动 IntelliJ
  • 将 IntelliJ 更新到最新版本 (2017.2.5)
  • 静音和取消静音断点

这个问题类似,但显然不一样:Intellij IDEA: Breakpoint not being hit, and is shown greyed out

【问题讨论】:

  • 我遇到了类似的问题,尽管是在 Eclipse 中。未勾选的是程序运行时永远无法到达的。可能有帮助,也可能没有帮助。
  • 更上一层楼:没有断点打勾,直到 a) 我在调试模式下运行应用程序(一些被打勾),或者当我在调试模式下运行服务器时(其他被打勾) .然后我点击未勾选的那些(当服务器在调试模式下运行时被勾选),使用 SoapUI 之类的东西来运行我试图调用的 Web 服务。
  • 您可以通过查看 Java Debugger 日志获得一些线索,请参阅intellij-support.jetbrains.com/hc/en-us/articles/207241125
  • 我在使用 Android Studio 3.3 时遇到了同样的问题,这让我抓狂。您找到问题的根本原因了吗@Pablo?
  • @Ognyan 对我来说很好,这基本上就是他所说的。我正在为一个不正确的类设置断点。

标签: java debugging intellij-idea


【解决方案1】:

对我来说这是一个端口问题,我不知道为什么,但我不得不回到我用于 tomcat 的端口 8082。

【讨论】:

【解决方案2】:

由于某种原因,我们在从 java 11 升级到 17 时遇到了这种情况。修复是使用 SpringBoot 配置而不是 maven 配置来运行/调试。

【讨论】:

  • 您好,我遇到了同样的问题,但是当我们像您一样从 Java 8 升级到 11 时,使用 SpringBoot 配置进行调试是可以的,但使用 maven 并不会在断点处停止。你有这方面的消息吗?
【解决方案3】:

全部,

这可能是 Intellij IDEA 调试器中的一个常见错误,而是使用关键快捷方式 在 [ step over and run to debug next point etc..] 的调试步骤中,如 F8 和 F9 等,不要依赖 ide 中提供的调试控制台按钮

【讨论】:

    【解决方案4】:

    只需更新 IntelliJIdea 中的 IntelliJ 即可解决我的问题 -> 检查更新..

    【讨论】:

      【解决方案5】:

      重建解决了我的问题。

      clean & rebuild
      

      必要时使缓存无效/重新启动

      【讨论】:

        【解决方案6】:

        Android 应用程序配置对我来说是个问题。我在debug 文件中的buildTypes 中的debug 部分中有minifyEnabled true。我不得不将其更改为minifyEnabled false。此更改迫使我设置multiDexEnabled true,正如它在这篇文章中所述Android gives error "Cannot fit requested classes in a single dex file"

        【讨论】:

          【解决方案7】:

          我在 IDE 上犯了一个 n00b 错误。我没有点击调试按钮,而是认为它与 Visual Studio 或 Eclipse 的工作方式相同,因为我必须使用运行按钮,但是当我点击调试按钮时(这看起来像一个实际的错误)我的断点打得很好。

          【讨论】:

            【解决方案8】:

            我通过在项目的根文件夹中运行此命令手动删除所有与构建相关的文件(出于某种原因,Rebuild 没有执行任何操作)来解决此问题。请注意,它还会删除 Intellij 的临时配置文件,这些文件通常不包含在 git 存储库中。将 MODULE 替换为包含项目模块的子文件夹。如果您使用 Android Studio 构建 Android 应用,主模块名称通常为 app

            rm -rf ./local.properties ./.gradle/ ./.idea/ ./MODULE/build/ ./MODULE/out/
            

            然后使用 File -> Invalidate Caches / Restart 选项重新启动 Intellij,等待构建和索引完成,并且调试应该会再次开始工作。

            【讨论】:

              【解决方案9】:

              我也遇到了这个问题,发现我的tomcat配置不对。

              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-tomcat</artifactId>
                  <scope>compile</scope>
              </dependency>
              

              范围标记的值为“提供”。将其更改为编译,它工作正常。

              【讨论】:

              • 我们在哪里可以找到这个配置?
              • Tomcat 配置是项目 pom.xml 文件的一部分。在里面搜索tomcat,看看它是否与我上面发布的匹配。如果它不匹配用这个替换它,看看它是否能解决你的问题。希望它有所帮助:)
              【解决方案10】:

              我在 Mac 机器上也发生了同样的事情。我按照以下步骤操作,一切正常:

              1. 停止服务器。
              2. 关闭所有 intellij 项目。
              3. 仅打开我的应用程序需要在其上运行的特定 intellij 项目。
              4. 以调试模式启动服务器。

              【讨论】:

                【解决方案11】:

                我在我的 mac 中遇到了同样的问题,尝试重新启动服务器、机器、使缓存无效,但没有任何帮助。然后,我注意到当服务器以调试模式启动时,我没有看到此消息: Connected to the target VM, address: '127.0.0.1:64197', transport: 'socket' 我意识到服务器可能存在一些问题。

                解决方案: 使用命令行“./server create”创建新服务器,然后关联此服务器以进行运行配置。现在以调试模式启动服务器,我看到上面的消息连接到套接字端口,我可以看到调试点上的刻度线。

                【讨论】:

                  【解决方案12】:

                  我时常间歇性地遇到同样的问题,我总是运行最新版本的 IDEA。断点显示为红色,但内部没有勾号。即使在我在调试中重建或重新运行之后,它们也没有得到滴答声,它们也没有“工作”,即代码继续。我通过重新启动 IDEA,然后重新启动调试器/调试运行配置来解决。

                  【讨论】:

                    【解决方案13】:

                    通过 IntelliJ 帮助 PDF 进行了一些搜索:
                    Help Doc pg。 431

                    他们的文档将复选标记描述为 “在断点为运行时显示 由调试器识别为设置在 可执行代码行。”

                    和常规的红点为“在设计时或调试期间显示 具有此类断点的类是时的会话 尚未加载。 "

                    因此,您添加断点的行似乎永远不会被执行。您可以尝试在班级中逐行加强,以确保班级不会在某个地方挂断。

                    希望对你有帮助

                    【讨论】:

                    • 这是随机发生的。如果我取消设置并重新设置它,它会再次出现勾号。
                    • 可能是因为编辑后的代码与编译后的代码不匹配。如果你调试然后开始编辑这将会发生。
                    • 似乎在最新版本的 GoLand 2021.3.3 中,当 IDE 认为代码不可访问时,断点会被禁用。拥有 IMO 的好功能!
                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-01-06
                    • 2012-03-24
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-12-11
                    相关资源
                    最近更新 更多