Cómo utilizar arm-linux-androideabi-addr2line
export PATH=$PATH: ~/dlna/android-ndk -r6b /toolchains/ arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
2 Haga que la configuración surta efecto: fuente ~/.bashrc
3. Utilice la herramienta. Por ejemplo: arm-linux-androideabi-addr2line -C -f -e ~/workspace/DLNA/libs/armeabi/libctrlpt.so 0003deb4
Entre ellos, 0003deb4 es el valor de pc en la información de la pila .
Métodos de depuración para fallos de aplicaciones de Android
Hay dos métodos para analizar la información de la pila de fallos
1 Google proporciona un script en Python, que se puede descargar desde siguiente URL Descargar
/p/android-ndk-stacktrace-analyzer/
Descargue el script de Python y use adb logcat -d gt;logfile para exportar el registro de fallos,
El uso arm-eabi-objdump se encuentra en build/prebuilt/linux-x86/arm-eabi-4.2.1/bin
. Convierta so o exe a código ensamblador, por ejemplo: arm-eabi-objdump -S mylib.so gt; mylib.asm,
Usar script
python parse_stack.py lt;asm -filegt; lt; logcat-filegt.
2 Utilice arm-linux-androideabi-addr2line directamente en NDK
(D:\android-ndk-r8\toolchains\arm-linux -
androideabi-4.4.3\prebuilt\ windows\binarm-linux-androideabi-addr2line.exe)
Ejemplo: arm-linux-androideabi-addr2line -C -f - e libxxx.so 0x#####(dirección)
Suplemento sobre el uso de la herramienta de depuración de Android addr2line
Utilice addr2line para rastrear errores en su propia biblioteca dinámica (archivo), suplemento:
Para resolver el problema de ?: 0, no muestre el número de líneas del código fuente
En el archivo Android.mk:
Java código
LOCAL_CFLAGS
:=
-D__STDC_CONSTANT_MACROS
-Wl,-Map=test.map
-g
Agrega 2 parámetros de compilación -Wl, -Map=test.map -g.
Agregar indicadores de advertencia y depuración de gcc
arm-linux-androideabi-addr2line -C -f -e /project directorio/obj/local/armeabi/libfaa_jni.so 0024362e
Consejos: 1. Tenga en cuenta que la ubicación del archivo de depuración está en el directorio obj, no el archivo so en el directorio libs
2. 0024362e es la ubicación del mecanismo de error
Además:
Agregue el archivo Application.mk en el directorio jni/, cámbielo al modo de depuración y depure APP_OPTIM := debug