Android / GDB – Dolor de cabeza – no puede encontrar símbolos de depuración

GDB está empezando a darme un dolor de cabeza. Parece que hay algo extraño en la forma en que funciona GDB.

Obj / local / armeabi / contiene tanto una lista de todos los archivos .so utilizados en el proyecto que no están despojados, así como un directorio llamado objs-debug que contiene un montón de archivos .o y .od.

Al iniciar el ndk-gdb parece que ninguno de los archivos .so se cargan.

He intentado cambiar manualmente el archivo de gdb.setup, pero aparentemente cuando se lanza el gdbserver el archivo se substituye por su propia versión de cosas;)

nm -a -C on libmylibary.so revela una tonelada de símbolos.

No parece estar cargando archivos .so ni siquiera buscando en la carpeta objs-debug. Ugh!

Cualquier ayuda es como siempre muy apreciada.

 [root@xyz SviCore]# /Android/ndk/ndk-gdb --start --force --verbose Android NDK installation path: /Android/ndk Using default adb command: /Android/sdk/platform-tools/adb ADB version found: Android Debug Bridge version 1.0.26 Using final ADB command: '/Android/sdk/platform-tools/adb' Using auto-detected project path: . Found package name: com.svi.core ABIs targetted by application: armeabi Device API Level: 10 Device CPU ABIs: armeabi-v7a armeabi Compatible device ABI: armeabi Found debuggable flag: true Found device gdbserver: /data/data/com.svi.core/lib/gdbserver Using gdb setup init: /root/XXXX/YYYY/ZZZZ/android/SviCore/libs/armeabi/gdb.setup Using toolchain prefix: /Android/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- Using app out directory: /root/XXXX/YYYY/ZZZZ/android/SviCore/obj/local/armeabi Found data directory: '/data/data/com.svi.core' Found first launchable activity: .SviCore Launching activity: com.svi.core/.SviCore ## COMMAND: /Android/sdk/platform-tools/adb shell am start -n com.svi.core/.SviCore ## COMMAND: /Android/sdk/platform-tools/adb shell sleep 2 Found running PID: 2351 Launched gdbserver succesfully. Setup network redirection ## COMMAND: /Android/sdk/platform-tools/adb forward tcp:5039 localfilesystem:/data/data/com.svi.core/debug-socket ## COMMAND: /Android/sdk/platform-tools/adb shell run-as com.svi.core lib/gdbserver +debug-socket --attach 2351 ## COMMAND: /Android/sdk/platform-tools/adb pull /system/bin/app_process /root/XXXX/YYYY/ZZZZ/android/SviCore/obj/local/armeabi/app_process Attached; pid = 2351 Listening on sockaddr socket debug-socket 65 KB/s (5720 bytes in 0.085s) Pulled app_process from device/emulator. ## COMMAND: /Android/sdk/platform-tools/adb pull /system/lib/libc.so /root/XXXX/YYYY/ZZZZ/android/SviCore/obj/local/armeabi/libc.so 917 KB/s (273940 bytes in 0.291s) Pulled libc.so from device/emulator. GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=x86_64-linux-gnu --target=arm-elf-linux". (no debugging symbols found) 

Parece que los símbolos de mensaje de error realmente no importa. En este caso, asegúrese de que las bibliotecas compartidas se compilen con -O0 o -O1 y -g -gdb para ayudar a recoger gdb estos símbolos de depuración después de que se compile su biblioteca compartida.

Si tiene problemas ejecutar (en la línea de comandos de gdb) 'info sharedLibrary', 'where' o 'backtrace' para ayudar a determinar si gdb es realmente capaz de encontrar dónde está.

Intente agregar lo siguiente a su archivo gdb.setup:

  set solib-search-path ./obj/local/armeabi 
  • Error de depuración ADT20 NDK
  • Depuración código nativo en Android en el * dispositivo * (no emulador)
  • Cómo obtener ndk-gdb trabajando en Android?
  • Ptrace devuelve -1 en Android
  • Android NDK + GDB
  • ¿Por qué GDB "salta hacia atrás" al depurar con c códigos fuente
  • Los rastreos de la pila se detienen antes de llegar a mi código (en Android usando NDK)
  • ¿Dónde obtener el binario completo de gdb para Android?
  • No se puede conectar el ndk-gdb a la aplicación android
  • Depuración de ARM NEON para Android NDK
  • Android gdb error, "No se puede acceder a la memoria en la dirección"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.