1. 程式人生 > >如何使用arm-linux-androideabi-addr2line

如何使用arm-linux-androideabi-addr2line

有兩種方法可以分析 crash 的堆疊資訊

1 google提供了一個python指令碼,可以從

http://code.google.com/p/android-ndk-stacktrace-analyzer/
下載這個python指令碼,然後使用 adb logcat -d > logfile 匯出 crash 的log,
使用 arm-eabi-objdump 位於build/prebuilt/linux-x86/arm-eabi-4.2.1/bin下面
把so或exe轉換成彙編程式碼,如:arm-eabi-objdump -S mylib.so > mylib.asm,
使用指令碼

python parse_stack.py <asm-file> <logcat-file>

2 直接使用NDK下面的arm-linux-androideabi-addr2line 

(D:\android-ndk-r8\toolchains\arm-linux-
androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-addr2line.exe)

例如:arm-linux-androideabi-addr2line -C -f -e libxxx.so 0x#####(address)