[Java] でのデバッグ方法

Javaでは条件コンパイルができないので、こういったことができず、以下のような関数を作って、Release用のパッケージはこのままビルドしたもの、Debug用のパッケージは以下のコメント箇所を有効にしてコンパイルしたもの、


public void DebugPrint(String s)
{
//System.out.println(s);
}

というように作っておいて、実行時に *.class ファイルを差し替えて実行してデバッグ出力を行っていた。もちろん上記のままではいくら空の関数とは言え、関数呼び出しのオーバーヘッドが出てしまい、完全にC,C++のマクロのようになるとはいえない(条件が整えば、最適化によってこのメソッドの呼び出し箇所をすべて無視するような実行コードが吐き出されるかもしれない)。