Я пытаюсь отладить и просмотреть приложение Android, которое работает с ошибками. Я пробовал ndk-gdb
, но без особой удачи. Я также сослался на отладку Android NDK , но не смог отладить мое приложение.
Когда я пытаюсь ndk-gdb --start
, и я получаю:
$ ndk-gdb --start --verbose
Android NDK installation path: /opt/android-ndk-r7
Using default adb command: /opt/android-sdk-linux/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.29
Using final ADB command: '/opt/android-sdk-linux/platform-tools/adb'
Using auto-detected project path: .
Found package name: com.example.native_plasma
ABIs targetted by application: armeabi armeabi-v7a
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi-v7a
Found debuggable flag: true
Found device gdbserver: /data/data/com.example.native_plasma/lib/gdbserver
Using gdb setup init: ./libs/armeabi-v7a/gdb.setup
Using toolchain prefix: /opt/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
Using app out directory: ./obj/local/armeabi-v7a
Found data directory: '/data/data/com.example.native_plasma'
Found first launchable activity: android.app.NativeActivity
Launching activity: com.example.native_plasma/android.app.NativeActivity
## COMMAND: /opt/android-sdk-linux/platform-tools/adb shell am start -n com.example.native_plasma/android.app.NativeActivity
Starting: Intent { cmp=com.example.native_plasma/android.app.NativeActivity }
## COMMAND: /opt/android-sdk-linux/platform-tools/adb shell sleep 2
Found running PID: 0
ERROR: Could not extract PID of application on device/emulator.
Weird, this probably means one of these:
- The installed package does not match your current manifest.
- The application process was terminated.
Try using the --verbose option and look at its output for details.
Это указывает на то, что в приложении произошел сбой в большей степени, но я не знаю, как установить здесь точку останова, поскольку gdb никогда не выдает подсказку.
Я также попробовал эту команду:
$ ../../toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-addr2line -f -e libs/armeabi/libnative-plasma.so
bedb2330
??
??:0
У меня есть отладочные символы, которым я верю.
ndk-build -B V=1 APP_OPTIM=debug
Android.mk
в jni/
имеет LOCAL_CFLAGS := -g
ant debug
У меня также ndk-build NDK_DEBUG=1
, но я все еще получаю, где это выглядит, как будто у меня нет отладочных символов.
Вот изображение трассировки стека. Это не становится более информативным:
![Traceback](https://i.stack.imgur.com/oN3FS.png)