我有一个C++ Android应用程序,我正在尝试使用ndk-gdb进行调试.应用程序确实使用多个线程,但据推测,ndk的r5支持多个线程.此外,我甚至没有达到gdb启动的程度.我运行命令:
ndk-gdb --start --force --verbose
Run Code Online (Sandbox Code Playgroud)
然后它找到ndk和sdk(或至少adb)的正确路径,以及所需的ABI和诸如此类的东西.
$ ndk-gdb --start --force --verbose
Android NDK installation path: /home/leif/eclipse/android-ndk-r5b
Using default adb command: /home/leif/eclipse/android-sdk-linux_86/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.26
Using final ADB command: '/home/leif/eclipse/android-sdk-linux_86/platform-tools/adb'
Using auto-detected project path: .
Found package name: net.leifandersen.mobile.android.marblemachine
ABIs targetted by application: armeabi
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi
Run Code Online (Sandbox Code Playgroud)
然后它查找gdb服务器,并找到它,包括正确的PID,然后启动活动.
但是,它告诉我无法找到包:
Setup network redirection
## COMMAND: /home/leif/eclipse/android-sdk-linux_86/platform-tools/adb shell run-as <package name> lib/gdbserver +debug-socket --attach 16040
## COMMAND: …Run Code Online (Sandbox Code Playgroud)