2013-02-18 59 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