2

Android 用に明示的にコーディングされていない既存のライブラリをデバッグしています。動作しますが、多くのex.printStackTrace()呼び出しが含まれています。Android では、これらはデフォルトで logcat に書き込まれません。

私の質問は次のとおりです。コードを変更する可能性がなければ、printStackTrace()呼び出しによって生成されたスタック トレースを何らかの方法で確認できますか?

4

4 に答える 4

1

Android では、これらはデフォルトで logcat に書き込まれません。

確かにそうです。それらはログ レベル WARN で書き出され、タグは通常System.err

于 2012-07-05T19:34:00.087 に答える
0

コードを変更できない場合、元からコーディングされていなければ、ログに書き込まれないものは何も取得できません。PrintStackTrace が表示されない場合は、デバイスで「デバッグ モード」が有効になっていることを確認してください。そうでなければ、いいえ、コードを変更しない限り、できることはあまりありません。

コードを変更できる場合は、PrintStackTrace を Log メソッドに入れることができます。

Log.e(TAG, "custom message", ex);
于 2012-07-05T19:53:08.310 に答える
0

Eclipse で作業している場合は、スタック トレースを出力し、Logcat (DDMS を使用) ツールでメッセージを確認します。

そうでない場合は、adb logcatコマンド ラインで使用します。

いずれにせよ、結果にはタグが表示されないため、どのアプリケーションからのものかを推測する必要があります。それらを送信しているアプリケーションを知りたい場合は、ログ機能を使用することをお勧めします。

于 2012-07-05T19:34:38.850 に答える
0

getStackTrace を使えばできると思います。

いずれにせよ、これを行わないでください。スタック トレースを印刷しても、エラーの原因となったアプリケーションが返されないためです。java.util の Log クラスを使用します。

于 2012-07-05T19:35:19.557 に答える