9

最近、新しい Android 開発ツール、SDK 20130717 および NDK r9 をロードしました。

これまで、XP と W7/64 の両方のシステムで、Eclipse 内からの作業とデバッグに問題なく以前のバージョンを使用していました。

現在、新しいツールをインストールした W7/64 は機能し、新しいツールのインストールと必要なパス環境の変更後にアプリを正常にデバッグします。

「Debug As」+「Android Native Application」を選択すると問題なく動作します。

まだXPは、フォルダー/ cygwinなどに関して正確な構成を持っていますが、新しいツールがインストールされ、必要なパスenvが変更された後、ndk-dbgを開始できず、決定的に待機しているようです。 「MyApp の起動 (1): (100%)」で。これは、「Debug As」+「Android Native Application」を選択した後に発生します。

何が原因である可能性があるかについてのヒントはありますか?または、XP と r9 のデバッグで見逃している既知の問題はありますか?

ありがとう、クリストス

*編集

ndk-gdb を手動で開始しようとしましたが、これが得られたものです。ヒントは大歓迎です

引用符

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

Android NDK インストール パス: /cygdrive/e/android-ndk-r9

デフォルトの adb コマンドを使用: /cygdrive/e/adt-bundle-windows-x86-20130717/sdk/platform-tools/adb

ADB のバージョンが見つかりました: Android Debug Bridge バージョン 1.0.31

ADB フラグの使用:

JDB コマンドの使用: /cygdrive/e/Android/Java/jdk1.7.0_21/bin/jdb

自動検出されたプロジェクト パスを使用: .

見つかったパッケージ名: myndkpackage

アプリケーションが対象とする ABI: armeabi-v7a

デバイス API レベル: 17

デバイス CPU ABI: armeabi-v7a armeabi

互換性のあるデバイス ABI: armeabi-v7a

gdb セットアップ初期化の使用: ./libs/armeabi-v7a/gdb.setup

ツールチェーン プレフィックスの使用: /cygdrive/e/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi-

アプリ出力ディレクトリの使用: ./obj/local/armeabi-v7a

デバッグ可能なフラグが見つかりました: true

デバイス gdbserver が見つかりました: /data/data/myndkpackage/lib/gdbserver

見つかったデータ ディレクトリ: '/data/data/myndkpackage'

最初の起動可能なアクティビティが見つかりました: myndkpackage.MainActivity

起動アクティビティ: myndkpackage/myndkpackage.MainActivity

コマンド: adb_cmd shell am start -D -n myndkpackage/myndkpackage.MainActivity

開始: 意図 { cmp=myndkpackage/.MainActivity }

コマンド: adb_cmd シェル スリープ 2

実行中の PID が見つかりました: 2787

既存のデバッグ セッションを強制終了しています

コマンド: adb_cmd shell kill -9 2753

gdbserver を正常に起動しました。

ネットワーク リダイレクトのセットアップ

コマンド: adb_cmd shell run-as myndkpackage lib/gdbserver +debug-socket --attach 2787

コマンド: adb_cmd forward tcp:5039 localfilesystem:/data/data/myndkpackage/debug-socket

添付; ピッド = 2787

Unix ソケットでリッスンする debug-socket

コマンド: adb_cmd pull /system/bin/app_process obj/local/armeabi-v7a/app_process

599 KB/秒 (0.015 秒で 9588 バイト)

デバイス/エミュレーターから app_process をプルしました。

コマンド: adb_cmd pull /system/bin/linker obj/local/armeabi-v7a/linker

658 KB/秒 (0.093 秒で 63244 バイト)

デバイス/エミュレーターからリンカーをプルしました。

コマンド: adb_cmd pull /system/lib/libc.so obj/local/armeabi-v7a/libc.so

744 KB/秒 (0.390 秒で 297608 バイト)

デバイス/エミュレーターから libc.so をプルしました。

JDB 接続のセットアップ

コマンド: adb_cmd forward tcp:65534 jdwp:2787

java.io.IOException: ハンドシェイクに失敗しました - 接続が途中で閉じられました

com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:136) で

com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:232) で

com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116) で

com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:90) で

com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519) で

com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328) で

com.sun.tools.example.debug.tty.Env.init(Env.java:63) で

com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066) で

致命的な誤り:

ターゲット VM に接続できません。

/cygdrive/e/android-ndk-r9/ndk-gdb: 742 行目: 4636 セグメンテーション違反 $GDBCLIENT -xnative_path $GDBSETUP

引用符

4

3 に答える 3

3

これは、Android NDK で開かれたバグです。回避策は、Android NDK r8e (Christos の回答で説明されているように) を使用するか、 http://code.google.com/p/mingw-and-ndk/downloads/detail?arm-linux-androideabi-gdb.exeから固定ファイルをダウンロードすることです。 name=arm-linux-androideabi-gdb.exe .

于 2013-09-30T22:28:36.770 に答える