Android Как читать JNI Core Dump FIles

Я кодирую приложение JNI. Logcat указывает, что в файлах журналов есть data / log / dumpstate_app_native.txt. Также в системных надгробиях. Когда я обращаюсь к Samsung Infuse в качестве медиа-устройства, я не вижу таких файлов. На самом деле я тоже не вижу файлы данных приложений? Где они, я вижу другие пакеты приложений, но не так много в период данных. Вот что я вижу в logcat:

Dumpstate /data/log/dumpstate_app_native.txt копирование / данные / надгробия / tombstone_01 в DropBox (SYSTEM_TOMBSTONE) Написал трассировки стека в '/data/anr/traces.txt

Я искал устройство в качестве медиа-устройства для * .txt и ничего не нашел.

Solutions Collecting From Web of "Android Как читать JNI Core Dump FIles"

Вы не сможете прочитать файлы надгробий, если вы не используете эмулятор или корневой телефон. Logcat распечатывает надгробный камень на уровне отладки (это большой дамп ядра перед сообщением «копирование надгробия»). Должен быть раздел, который выглядит примерно так:

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 ... 

Это сокращенная stacktrace. Вам нужно будет использовать инструмент addr2line в NDK для определения функции, файла и номера строки, на которые ссылаются эти шестнадцатеричные адреса. В моей системе OSX команда для получения первой строки stacktrace выглядит так:

 /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 / local / armeabi / myjnilib.so – это версия myjnilib.so, которая содержит информацию о номере строки.

Посмотрите на эту ссылку http://bytesthink.com/blog/?p=133

Просто убедитесь, что вы правильно синхронизировали символы с собранными надгробиями.