Запуск ndk-gdb с ошибкой «пакет не найден» на телефоне Motorola

У меня есть приложение для Android на C ++, которое я пытаюсь отладить с помощью ndk-gdb. Приложение действительно использует несколько потоков, но предположительно r5 из ndk поддерживает несколько потоков. Кроме того, я даже не дохожу до того момента, когда запускается gdb. Я запускаю команду:

ndk-gdb --start --force --verbose

Затем он находит правильный путь для 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

Затем он ищет сервер gdb и находит его, включая правильный PID, за которым следует запуск действия.

Но затем он сообщает мне, что пакет не может быть найден:

Setup network redirection
## COMMAND: /home/leif/eclipse/android-sdk-linux_86/platform-tools/adb shell run-as  lib/gdbserver +debug-socket --attach 16040
## COMMAND: /home/leif/eclipse/android-sdk-linux_86/platform-tools/adb forward tcp:5039 localfilesystem:run-as: Package '' is unknown/debug-socket

Затем он выплевывает, что вы получите, если вы неправильно используете adb (файл справки), а затем:

ERROR: Could not setup network redirection to gdbserver?
       Maybe using --port= to use a different TCP port might help?
run-as: Package '' is unknown

Я заглянул в /data/system/packages.list, и да, мой apk наверняка там, и место, на которое он указывает, правильное в файловой системе. Так что проблема не в этом.

Это руководство: http: // vilimpoc. org / blog / 2010/09/23 / hello-gdbserver-a-debuggable-jni-example-for-android / рекомендует удалить и переустановить, а также очистить вашу сборку eclipse.

Я не использовал eclipse, чтобы собрать пакет, но я все вычистил и скомпилировал с нуля, удалил и переустановил, но безуспешно.

Были ли у кого-нибудь похожие проблемы, и как вы их решили? Спасибо.

Edit: О, и я безрезультатно пробовал использовать другой порт, в любом случае, похоже, что на 5039 (порт по умолчанию) ничего нет. И, черт возьми, у меня нет брандмауэров, блокирующих это соединение. Я также разрабатываю Ubuntu 11.04.

Edit2: Хмм ... похоже, что с новым ndk (r5c) сообщение об ошибке тоже изменилось:

ERROR: Could not extract package's data directory. Are you sure that
       your installed application is debuggable?

И да, для параметра debuggable установлено значение true в манифест, и весь собственный код построен с помощью:

LOCAL_CFLAGS           := -Wall -g
LOCAL_LDFLAGS          := -Wl,-Map,xxx.map

14
задан Leif Andersen 8 June 2011 в 00:58
поделиться