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

Scala: Setting programatically a break-point to be recognized by IntelliJ

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

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

System.Diagnostics.Debugger.Break();

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

我不知道有这样的功能,但在任何编程环境中,您都可以使用临时解决方案:只需定义一个方法 debugBreak,向其添加断点,然后使用它。例如:

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

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

就是这样。每次满足条件时,调试器将停止,您只需要向上堆栈一帧。

顺便说一句,大多数时候更好更简单的解决方案是在 IntelliJ 中设置一个条件断点(本质上是将您的条件表达式粘贴到 "condition" 字段中)。参见 https://www.jetbrains.com/idea/help/configuring-breakpoints.html

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