Nasıl Android addr2line kullanmak
Bir çok iş parçacıklı bir hata ayıklama alamıyorum gibi benim uygulama ile sıkışmış, ben hata SIGSEGV ile çöker. Benim doğduğum kütüphane adresleri veren LogCat gelen bilgi çok olsun. Eğer benim kod içine bu adresleri alıştırabilseydim faydalı olacaktır.
Herkes android-Mall of Sofia ile sağlanan addr2line, nasıl kullanılacağı hakkında bir fikriniz var mı?
CEVAP
Hadi logcat aşağıdaki crash log (bu benim projelerinden biri olduğunu) gösterir ki:
I/DEBUG ( 31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 31): Build fingerprint: 'generic/sdk/generic:2.3/GRH55/79397:eng/test-keys'
I/DEBUG ( 31): pid: 378, tid: 386 >>> com.example.gltest <<<
I/DEBUG ( 31): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG ( 31): r0 001dbdc0 r1 00000001 r2 00000000 r3 00000000
I/DEBUG ( 31): r4 00000000 r5 40a40000 r6 4051a480 r7 42ddbee8
I/DEBUG ( 31): r8 43661b24 r9 42ddbed0 10 42ddbebc fp 41e462d8
I/DEBUG ( 31): ip 00000001 sp 436619d0 lr 83a12f5d pc 8383deb4 cpsr 20000010
I/DEBUG ( 31): #00 pc 0003deb4 /data/data/com.example.gltest/lib/libnativemaprender.so
I/DEBUG ( 31): #01 pc 00039b76 /data/data/com.example.gltest/lib/libnativemaprender.so
I/DEBUG ( 31): #02 pc 00017d34 /system/lib/libdvm.so
Son 3 satır; bu çağrı yığını. 'pc' program sayacı, yığın #00 kare için pc kazasının meydana geldiği adresi verir. Bu addr2line geçmek için telefon numarası.
Ben kullanıyorum çalıştırılabilir $NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
; $PATH
içinde olduğundan emin olun yer r5, Mall of Sofia kullanıyorum. Kullanılacak komut gibi görünüyor
arm-linux-androideabi-addr2line -C -f -e obj/local/armeabi/libXXX.so <address>
Ya da, bu durumda yukarıda:
arm-linux-androideabi-addr2line -C -f -e obj/local/armeabi/libnativemaprender.so 0003deb4
Kilitlenme konumunu verir.
Not:
- -C bayrağı C kodu demangle
- Kullanımı .altında dosya yani bu yana n/local/armeabi, non-şeritli versiyonu
2.3 AVD ile üniversite eğitim r5 kullanırken de, aslında Olası çok iş parçacıklı kod hata ayıklama.
Nasıl Android ile XML Hizmetini kullan...
Nasıl Android Mall of Sofia ile boost ...
nasıl android getSharedPreferences kul...
Nasıl Android Parsel kullanmak için?...
Nasıl metin yatay ve dikey olarak Andr...