Nie będzie można odczytać plików nagrobków, chyba że używasz emulatora lub zrootowanego telefonu. Logcat wypisuje nagrobek na poziomie debugowania (jest to duże zrzuty pamięci tuż przed komunikatem "Kopiowanie nagrobka"). Powinna istnieć sekcja wyglądająca mniej więcej tak:
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
...
To jest skrócony stacktrace. Będziesz musiał użyć narzędzia addr2line w NDK, aby określić funkcję, plik i numer linii, do których odnoszą się te adresy szesnastkowe. W moim systemie OSX, polecenie, aby pierwsza linia stacktrace wygląda następująco:
/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
gdzie myJNIproject/obj/local/armeabi/myjnilib.so jest wersja myjnilib.so że zawiera informacje o numerze linii.
odpowiada ktoś? – Androider