Eclipse中的跟踪点

Rap*_*vet 4 java eclipse debugging trace

Eclipse(JDT)调试模式似乎不支持跟踪点.

这实在是太糟糕了,因为您可能有时想要打印大量的调试信息,而不会使用您可能会在以后忘记的硬编码println混乱您的代码.

我找到了一个简单的解决方法,并想与SO分享.

Rap*_*vet 8

Eclipse支持条件断点.

你所要做的就是为它提供一个布尔表达式,它会很开心.在这种情况下,静态方法也可以打印有用的东西作为副作用.

public class TracePointUtils {

  static private Logger logger = org.slf4j.LoggerFactory.getLogger(TracePointUtils.class);

  /** Produce a WARN message in SL4J logger */
  public static boolean trace(String msg, Object ... args) {
    logger.warn(format(msg, args));
    // Do not stop
    return false;
  }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我使用SL4J作为记录器,但普通的println会没问题.

然后,在代码中添加断点,并将此静态方法称为条件: 跟踪点截图

瞧,您可以在控制台中享受美妙的痕迹.

  • 实际上,您甚至不需要创建方法.只需编写`System.out.println("XXX"); 返回false;`在条件中. (6认同)