Scala Intellij 断点被忽略

标签 scala intellij-idea

我正在学习 Coursera 的 Scala 入门类(class)。

在 Intellij 中,我正在尝试调试但断点被忽略。

与这个问题不同:Can't debug a Scala application in IntelliJ + sbt-idea-plugin ,我没有收到任何错误。

我是否需要安装某些东西或设置一些 Intellij 配置?

最佳答案

最近有人引导我使用 scala/scalatest 在 InteliJ 中进行调试。我正在运行 InteliJ Idea 2017.2 并安装了最新的 scala 语言插件,没有安装 SBT 插件(据我所知,这现在只是 scala 插件的一部分)。希望这可以帮助其他一些人:

  • 通过单击要测试的行号旁边的来设置断点。
  • 假设您正在使用 ScalaTest 来设置一些条件并运行您的程序,您可以右键单击您的测试类之一,然后选择 Debug '[classname]'从下拉菜单中。这应该弹出打开底部的调试 Pane 。
    enter image description here

  • 当您使用 InteliJ 直接运行调试(不通过 sbt 等附加)时,我实际上能够使其正常工作。我对讨论附加到正在运行的 sbt 进程的相关问题的任何答案都没有成功(至少使用 scalatest)。

    在这一点上,intelij debug 为您提供了许多有用的东西。假设有一项测试失败,您想深入了解原因。在调试窗口中,单击控制台选项卡,您将看到按套件排序的测试列表,在失败的测试旁边带有红色标记。您可以右键单击单个测试并从下拉列表中选择调试以仅调试该测试。它非常有用。
    enter image description here

    希望这可以帮助其他人!我还遇到了一些应该概述的问题:
  • 有时我需要重新加载 sbt 项目(单击左侧 sbt 项目选项卡下的圆形箭头东西)。这需要一段时间,但它清除了一些关于未找到类的随机错误,甚至是不相关的声音,例如 One or more requested classes are not Suites .
    enter image description here
  • 我有时会收到有关未找到着色类的错误,尤其是在通过 sbt 使用 docker 时(例如在我的测试中启动 db 节点)。为了解决这个问题,我首先删除了缓存的编译 jar(例如 rm -r $HOME/.ivy2/cache/com.spotify/ 以摆脱导致问题的缓存编译代码),然后我像步骤 1 一样重新加载了项目。
  • 如果所有其他方法都失败,请确保正确导入项目。您可能需要删除 .idea文件夹中的文件夹并重新导入 sbt 项目。这会破坏您的设置和所有内容,但它在过去作为最后的手段对我有用。
  • 关于Scala Intellij 断点被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33988294/

    相关文章:

    java - 在未来的代码中使用同步/锁

    java - 带有 Spark 的 NoClassDefFoundError

    scala - IntelliJ,分析 Scala 代码

    intellij-idea - IntelliJ IDEA 14 : What is capture memory snapshot

    java - 在 Gradle 和 IntelliJ 中设置语言级别

    scala - Scala 可变集合的 View 有什么惰性?

    java - Play 框架应用的监控工具

    java - IntelliJ代理的设置不起作用(win7)

    java - Intellij 中的 Scala 配置

    Scala - 用最少的语法设计 DSL