4

ARM 用の NDK (Android Native development Kit) には、古い GDB を含む gcc および GNU utils ツールチェーンが付属しています。ただし、GDB は VFP または NEON SIMD 拡張のレジスタの内容を表示できないようです。つまり、NEON/VFP 命令を使用してプログラムをデバッグする場合、レジスタのサブセットのみが表示されます。この能力を得るには、新しいバージョンの GDB が必要だと思います。使用しているハードウェアは NEON をサポートしています。

新しい gdb が必要なのですが、出荷時の Google NDK の GDB ではこれができないというのは本当ですか?

ARM Android デバイスで VFP/NEON コードをデバッグするためのビルド済みの GDB はありますか、またはこれを実行できる最新の GDB を含む NDK ツールチェーンを生成する手順はありますか? (Windows/Linux 64 ビット ホストの場合)

4

2 に答える 2

3

Android NDK (r8 で確認済み) には、NEON をサポートしない古い gdb および gdbserver (v6.6) が付属しています。これを使用するには、gdb ソースと Android パッチからビルドするか、ビルド済みのものを取得します。

  1. Android アーカイブ用のビルド済み gdb 7.4.1 をダウンロードします。
  2. (NDK)\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\binディレクトリを開く
  3. arm-linux- androideabi -gdb.exe の名前をarm -linux-androideabi-gdb-OLD.exe に変更します
  4. 新しい gdb.exe を現在のフォルダーにコピーします。
  5. (NDK)\toolchains\arm-linux-androideabi-4.4.3\prebuiltディレクトリを開きます。
  6. gdbserverファイルの名前をgdbserver_oldに変更します
  7. 新しい gdbserver を現在のフォルダーにコピーします
于 2012-06-27T20:48:32.450 に答える
2

出荷時の NDK GDB は NEON レジスタを表示できないようです。ARM 開発者サイトのこのリンクは、DS5 スイートに同梱されている gdbserver がこの機能を追加していることを示しています。

DS-5 で提供される gdbserver は、GNU の gdbserver の新しいバージョンに基づいており、追加のマルチスレッド機能、ARM NEON レジスタへのアクセス (利用可能な場合)、および安定性の向上を提供します。

于 2012-03-28T10:00:17.763 に答える