在Visual Studio / C#中,我可以轻松地以编程方式设置断点。 IntelliJ / Scala-Plugin和Scala语言是否有类似的功能?
澄清:在C#中,您可以调用API函数
System.Diagnostics.Debugger.Break();
然后VS中的调试器就像在IDE中设置的任何断点一样停止。
答案 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无法评估您的表达,因此在这些情况下,上述特殊解决方案是一个有用的替代方案。