Men-debug project

Men-debug masalah pada native code

Jika Anda kesulitan memahami tombstone atau dump masalah pada native code, Men-debug Kode Platform Android Native merupakan pengantar yang tepat.

Untuk katalog yang lebih lengkap tentang jenis error umum dan cara menyelidikinya, lihat Mendiagnosis Masalah pada Native Code.

Alat ndk-stack dapat membantu menyimbolkan error. Anda dapat men-debug error di Android Studio sebagaimana dijelaskan dalam dokumentasi umum Men-debug aplikasi. Jika Anda lebih memilih menggunakan command line, ndk-gdb memungkinkan Anda melampirkan gdb atau lldb dari shell.

Men-debug masalah memori native

Address Sanitizer (HWASan/ASan)

HWAddress Sanitizer (HWASan) dan Address Sanitizer (ASan) mirip dengan Valgrind, tetapi jauh lebih cepat dan jauh lebih baik didukung di Android.

Keduanya merupakan opsi terbaik untuk men-debug error memori di Android.

Debug Malloc

Lihat Malloc Debug dan Pelacakan Memori Native menggunakan Callback libc untuk mendapatkan penjelasan menyeluruh tentang opsi bawaan library C untuk men-debug masalah memori native.

Hook malloc

Jika Anda ingin membuat alat sendiri, libc Android juga mendukung pencegatan semua panggilan alokasi/gratis yang terjadi selama eksekusi program. Lihat Dokumentasi malloc_hooks untuk mendapatkan petunjuk penggunaan.

Statistik malloc

Android mendukung ekstensi mallinfo(3) dan malloc_info(3) ke <malloc.h>.

Fungsi malloc_info tersedia di Android 6.0 (Marshmallow) dan yang lebih tinggi serta skema XML-nya didokumentasikan dalam header malloc.h Bionic.

Pembuatan profil

Untuk pembuatan profil CPU kode native, Anda dapat menggunakan Simpleperf.