【发布时间】:2010-05-15 16:58:03
【问题描述】:
有没有像 C# 中的 System.Diagnostics.Debugger.Break() 那样在 Java 中发出断点信号的方法?
【问题讨论】:
有没有像 C# 中的 System.Diagnostics.Debugger.Break() 那样在 Java 中发出断点信号的方法?
【问题讨论】:
是的,我想要这样的东西,所以我在 C 时代实现了一个非常简单的解决方案。如果您想要一个轻量级的答案,这可能会很有用。
public class DebugHelper
{
public static breakHere()
{
int i = 0; // Set breakpoint on this line in your IDE
}
}
使用这种方法。在“int i = 0;”的代码中放置一个断点线。并在您正在调试的代码中调用该方法。这是获得一些动态调试的快速答案,并且比监视变量更快。
示例 ...
private something(...)
{
for( ... )
{
if( null == value ) DebugHelper.breakHere();
}
}
当然,在 C 中,您可以放置正确的 ASM 断点指令 ;-) 这对我来说很好,在极少数情况下我想要这样的东西。
【讨论】:
不是真的。但是我假设它可以通过一个接口访问调试接口并设置断点到当前实现Break()函数的类来实现。不过很有趣的问题。
【讨论】:
如何为此目的抛出和捕获特定异常并在您的 IDE 中创建一个异常断点?
【讨论】:
通常断点是由正在使用的 IDE 本身提供的功能。也许你可以看看Java Platform Debugger Architecture。
【讨论】: