2011-12-01 11 views
10

私はJNIアプリケーションをコーディングしています。 Logcatは、ログファイルが存在することを示します。data/log/dumpstate_app_native.txt また、システムトゥームストーンのものもあります。メディアデバイスとしてSamsung Infuseにアクセスすると、そのようなファイルは表示されません。実際、アプリケーションデータファイルも表示されません。それらはどこにあるのですか、私は他のアプリケーションパッケージを見ていますが、データ期間はあまりありません。 がスタックを書いたAndroid JNIコアダンプファイルの読み方

dumpstate Dropboxが(SYSTEM_TOMBSTONE)へのコピー/データ/墓石/ tombstone_01 /data/log/dumpstate_app_native.txt

/data/anr/traces.txt」にトレース:ここで私はlogcatで見るものです

* .txtのメディアデバイスとしてデバイス上で検索しましたが、何も見つかりませんでした。

+0

誰に回答ですか? – Androider

答えて

10

エミュレータまたはルート付き電話を使用していない限り、トムソンストーンファイルを読み取ることはできません。 Logcatは、デバッグレベルでtombstoneを出力します( "tombstoneのコピー"メッセージの直前の大きなコアダンプです)。

01-18 16:28:04.334 16759 16759 I DEBUG : scr 80000012 
01-18 16:28:04.334 16759 16759 I DEBUG : 
01-18 16:28:04.384 16759 16759 I DEBUG :   #00 pc 00007f84 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.384 16759 16759 I DEBUG :   #01 pc 00008f80 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #02 pc 00002c6a /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #03 pc 00002ea8 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #04 pc 00003178 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #05 pc 00011e74 /system/lib/libdvm.so 
... 

これは短縮スタックトレースです。これらの16進アドレスが参照する関数、ファイル、行番号を決定するには、NDKのaddr2lineツールを使用する必要があります。私のOSXのシステムでは、スタックトレースの最初の行を取得するためのコマンドは次のようになります。

/opt/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-addr2line -f -e myJNIproject/obj/local/armeabi/myjnilib.so 0x00007f84 

どこmyJNIproject/OBJ /ローカル/ armeabi/myjnilib.somyjnilib.soというのバージョンであります行番号情報を含んでいます。

+2

ndkには 'ndk-stack'も含まれています –

関連する問題