Android 用に明示的にコーディングされていない既存のライブラリをデバッグしています。動作しますが、多くのex.printStackTrace()
呼び出しが含まれています。Android では、これらはデフォルトで logcat に書き込まれません。
私の質問は次のとおりです。コードを変更する可能性がなければ、printStackTrace()
呼び出しによって生成されたスタック トレースを何らかの方法で確認できますか?
Android では、これらはデフォルトで logcat に書き込まれません。
確かにそうです。それらはログ レベル WARN で書き出され、タグは通常System.err
コードを変更できない場合、元からコーディングされていなければ、ログに書き込まれないものは何も取得できません。PrintStackTrace が表示されない場合は、デバイスで「デバッグ モード」が有効になっていることを確認してください。そうでなければ、いいえ、コードを変更しない限り、できることはあまりありません。
コードを変更できる場合は、PrintStackTrace を Log メソッドに入れることができます。
Log.e(TAG, "custom message", ex);
Eclipse で作業している場合は、スタック トレースを出力し、Logcat (DDMS を使用) ツールでメッセージを確認します。
そうでない場合は、adb logcat
コマンド ラインで使用します。
いずれにせよ、結果にはタグが表示されないため、どのアプリケーションからのものかを推測する必要があります。それらを送信しているアプリケーションを知りたい場合は、ログ機能を使用することをお勧めします。
getStackTrace を使えばできると思います。
いずれにせよ、これを行わないでください。スタック トレースを印刷しても、エラーの原因となったアプリケーションが返されないためです。java.util の Log クラスを使用します。