2

Eclipse では、Logcat が数十のエントリしか保持せず、新しいエントリが入るとすぐに古いエントリを削除することに気付きました。これを防ぐ方法はありますか? 数日後にアプリが最終的にハングまたはクラッシュするため、アプリを長時間実行し、エントリを失わないようにする必要があり、Logcat に何かが記録されているかどうかを確認したいと考えています。

4

4 に答える 4

3

これが問題に対する最も洗練された解決策であるかどうかはわかりませんが、Eclipse で LogCat メッセージのサイズをいつでも増やすことができます。

ウィンドウ -> 設定 -> Android -> LogCat -> バッファする LogCat メッセージの最大数

デフォルトは 5000 だと思います。アプリケーションを長時間実行する予定がある場合は、非常に高く設定できます。

于 2013-10-04T04:05:39.867 に答える
0

このショーの画像を増やす必要があると思いますここに画像の説明を入力

于 2013-10-04T04:05:09.270 に答える
0

アプリを何日も実行し続けたい場合は、adb shell からログをキャプチャすることをお勧めします。一般的なシェル コマンドは次のようになります。

logcat -c \\ to clear previous logs
logcat -v time>yourLogs.txt & \\ to capture fresh logs
于 2013-10-04T04:41:35.883 に答える
0

より良い解決策は次のとおりです。

デフォルトのキャッチされない例外ハンドラを設定します。アプリがクラッシュするたびに、これは例外で呼び出されます。クラッシュしたことを示すログエントリを書き込んでから、logcat をファイルにダンプするだけです。最後に、例外を再スローして、アプリがクラッシュしたり、おかしなことが起こらないようにします。注: これはスレッドごとです。注意してください。

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread thread, Throwable ex) {
        Log.e("TAG", "---My app crashed just now---", ex);

        //TODO: Dump logcat to file

        throw new RuntimeException(ex);
    }
});
于 2013-10-04T04:25:27.693 に答える