2013-02-18 60 views
4

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

这真是一件坏事,因为您可能有时想打印大量的调试信息而不会让您的代码与硬编码的println混淆,而您以后可能会忘记它。

我找到了一个简单的解决方法,并希望与SO分享。

回答

6

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; 
    } 
} 

在这里,我使用SL4J作为记录器。但普通的println会很好。

然后,在你的代码中添加断点,并称之为静态方法作为条件: tracepoints screenshot

的Et瞧,您可以在控制台欣赏漂亮的痕迹。

+6

其实,你甚至不需要创建一个方法。只需编写'System.out.println(“XXX”);返回false;'在条件。 – Krumelur 2013-11-27 16:27:25