Scala:以编程方式设置IntelliJ识别的断点

时间:2015-06-07 14:38:56

标签: scala debugging intellij-idea

在Visual Studio / C#中,我可以轻松地以编程方式设置断点。 IntelliJ / Scala-Plugin和Scala语言是否有类似的功能?

澄清:在C#中,您可以调用API函数

System.Diagnostics.Debugger.Break();

然后VS中的调试器就像在IDE中设置的任何断点一样停止。

1 个答案:

答案 0 :(得分:3)

我不知道这样的功能,但是在任何编程环境中你都可以使用一个特殊的解决方案:只需定义一个方法debugBreak,为它添加一个断点然后再使用它。例如:

def debugBreak() {
  println("Breakpoint hit!") // Manually set a breakpoint here
}

//.... then somwhere in your code base
if (<<some condition>>) {
  debugBreak
}

就是这样。每次满足条件时,调试器都会停止,您只需要向上移动一帧。

顺便说一下,大多数情况下,更好更简单的解决方法是在IntelliJ中设置条件断点(基本上是在“条件”字段中粘贴条件表达式)。请参阅https://www.jetbrains.com/idea/help/configuring-breakpoints.html

然而,有时IntelliJ无法评估您的表达,因此在这些情况下,上述特殊解决方案是一个有用的替代方案。