5

Eclipse(JDT)デバッグモードではトレースポイントがサポートされていないようです。

後で忘れがちなハードコードされたprintlnでコードを乱雑にすることなく、多くのデバッグ情報を印刷したい場合があるため、これは本当に厄介です。

そのための簡単な回避策を見つけて、SOと共有したいと思いました。

4

2 に答える 2

9

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で十分です。

次に、コードにブレークポイントを追加し、この静的メソッドを条件として呼び出します。 トレースポイントのスクリーンショット

出来上がり、コンソールで素敵なトレースを楽しむことができます。

于 2013-02-18T13:22:57.337 に答える