3

さて、私はJavaで何年も取り組んできた非常に大きなプロジェクトを持っています(知っている必要がある場合はゲームです)。

残念ながら、謎のメッセージが印刷され始めました。どんなに探しても、メッセージの場所を特定することはできません。

println メソッドをオーバーライドできることは知っていますが、出力されるメッセージに何らかのデバッグ情報を添付できるかどうか知りたいです。おそらくそれが印刷された行またはファイルのように?これについてGoogleで検索してみましたが、問題が詳細すぎて答えが見つかりません。

さらに悪いことに、メッセージは非常にあいまいです。単純に「-1」です。

少なくとも、単に println() の代わりに適切なロガーを使用することを知っています。

4

3 に答える 3

6

このような場合、IDE で条件付きブレークポイントを使用できます。これは、あまり知られていない ide の非常に便利な機能です。

ブレークポイントを設定し、特定の条件下でのみアプリケーションを一時停止させたいとします。この場合、println メソッドのパラメーターは「謎の不明な文字列」です。

Intelllij IDEAの場合、これは次のようになります。

ここに画像の説明を入力

于 2013-11-15T06:34:59.367 に答える
2

できるよ

 new Exception().printStackTrace()

または同様に、作成された例外をスローせずに、現在の実行ポイントの完全なスタック トレースを取得します。そして、それを投げる必要はありません。後で処理するために、イベントをリストに保存できます。

于 2013-11-14T22:16:38.677 に答える
-1

これは、ArrayIndexOutOfBoundsException からのメッセージのようです。このタイプの例外にブレークポイントを追加します。これを試して:

String[] arr = new String[0];
try{
    System.out.println(arr[-1]);
}catch (Exception e){
    System.out.println(e.getMessage());
}
于 2013-11-15T06:43:00.207 に答える