Analisis crash di Android
Untuk crash pada Native (Android) dan Unity (Android), lihat instruksi berikut.
Mendapatkan lokasi crash selama development
Saat melakukan debug program Android Native di Android Studio, atur Debugger - Debug type menjadi Dual (Java + Native) di pengaturan Configuration.

Informasi yang diperlukan saat debugging di Android Studio ditunjukkan di bawah ini.

Masukkan bt di lldb untuk mendapatkan penyebab crash dan code stack, seperti berikut:
(lldb) bt
* thread #16, name = 'samples.helloar', stop reason = signal SIGSEGV: invalid address (fault address: 0x9c40)
* frame #0: 0x0000004922f3a1d8 libEasyAR.so`___lldb_unnamed_symbol3056$$libEasyAR.so + 6088
frame #1: 0x0000004922f38568 libEasyAR.so`___lldb_unnamed_symbol3054$$libEasyAR.so + 288
frame #2: 0x0000004922f347f8 libEasyAR.so`___lldb_unnamed_symbol2876$$libEasyAR.so + 332
frame #3: 0x00000049be2390c8 libc.so`__pthread_start(void*) + 40
frame #4: 0x00000049be1f04f8 libc.so`__start_thread + 72
Jika code stack berisi konten terkait libEasyAR.so, ini mungkin menunjukkan bahwa crash terkait dengan EasyAR. Jika tidak ada, kemungkinan besar crash tidak terkait dengan EasyAR.
Masukkan image dump sections libEasyAR.so di lldb untuk mendapatkan load address section .text pada dynamic library, seperti berikut:
(lldb) image dump sections libEasyAR.so
...
SectID Type Load Address Perm File Off. File Size Flags Section Name
...
0x00000010 code [0x0000004922e30cfc-0x0000004923654558) r-x 0x00256cfc 0x0082385c 0x00000006 libEasyAR.so..text
...
Mendapatkan lokasi crash setelah release
Crash juga mungkin terjadi setelah release.
Jika terjadi crash yang dapat direproduksi, Anda dapat mencoba menggunakan tool Profile/Debug bawaan Android Studio. Kemudian ikuti metode selama development untuk mendapatkan lokasi crash.

Jika crash sulit direproduksi, Anda dapat menggunakan crash reporting library untuk mencegat informasi crash aplikasi dan melaporkannya ke server. Namun perlu diperhatikan bahwa informasi crash harus mencakup dua bagian: code stack dan module load address. Karena Android memperkenalkan ASLR (address space layout randomization) sejak 4.0, load address modul dynamic library dapat berbeda setiap kali aplikasi berjalan, sehingga code address juga berubah secara dinamis. Hanya dengan mengetahui nilai relatif antara code address di code stack dan load address modul dynamic library, Anda dapat mengetahui lokasi program mengalami crash.
Jika code stack berisi konten terkait libEasyAR.so, ini mungkin menunjukkan bahwa crash terkait dengan EasyAR. Jika tidak ada, kemungkinan besar crash tidak terkait dengan EasyAR.
Informasi lain terkait crash
Nomor versi EasyAR Sense dan EasyAR Sense Unity Plugin
Misalnya, 4.7.0.11800-cf8e24e30
Community Edition / Enterprise Edition
Arsitektur CPU
aarch64/armeabi-v7a