Eclipse(JDT)デバッグモードではトレースポイントがサポートされていないようです。
後で忘れがちなハードコードされたprintlnでコードを乱雑にすることなく、多くのデバッグ情報を印刷したい場合があるため、これは本当に厄介です。
そのための簡単な回避策を見つけて、SOと共有したいと思いました。
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で十分です。
次に、コードにブレークポイントを追加し、この静的メソッドを条件として呼び出します。
出来上がり、コンソールで素敵なトレースを楽しむことができます。