【问题标题】:System.Diagnostics.Debugger.Break() like using java?System.Diagnostics.Debugger.Break() 喜欢使用 java 吗?
【发布时间】:2010-05-15 16:58:03
【问题描述】:

有没有像 C# 中的 System.Diagnostics.Debugger.Break() 那样在 Java 中发出断点信号的方法?

【问题讨论】:

    标签: java debugging


    【解决方案1】:

    是的,我想要这样的东西,所以我在 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 断点指令 ;-) 这对我来说很好,在极少数情况下我想要这样的东西。

    【讨论】:

    【解决方案2】:

    不是真的。但是我假设它可以通过一个接口访问调试接口并设置断点到当前实现Break()函数的类来实现。不过很有趣的问题。

    【讨论】:

    • 没有,但是JDK中应该有这个接口的文档。
    【解决方案3】:

    如何为此目的抛出和捕获特定异常并在您的 IDE 中创建一个异常断点?

    【讨论】:

    • C# 中的调用提供附加调试器或 IDE。有一个异常断点需要已经附加了 IDE,不是吗?
    【解决方案4】:

    通常断点是由正在使用的 IDE 本身提供的功能。也许你可以看看Java Platform Debugger Architecture

    【讨论】:

      猜你喜欢
      • 2010-11-06
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      • 2012-03-12
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多