問題タブ [ndk-gdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
630 参照

android - Android ndk のクロス デバッグ時にシンボルが同期しない

adbシェル、片側にgdbserver、反対側にndkのgdbを使用して、ネイティブビルド(NDK)実行可能テスト(+共有ライブラリ)をデバッグしようとしています。

実行可能ファイルと .so をデバイスにコピーし、adb シェルで実行しました。

ホストで、同じ my_test 実行可能ファイルで gdb を実行します。

main() にブレークポイントを設定します。

リモートデバッグとしてEclipseにフックすると、コードを段階的に実行しようとすると、「次のステートメント」がコード内の別の場所にジャンプします。これは、gdb で一連の「next」コマンドを実行したときに表示されるものと同じです。

デバイスの gdbserver バージョンは 7.6 です。

何か案は?

アップデート:

gdb 7.6.2 をビルドし、私が持っている NDK リリース (r9d 64 ビット) に付属する gdb 7.3.1-gg の代わりにそれを使用した後、内部エラーの警告メッセージはなくなりました。

残っているのは、コードとデバッグの間の同期の欠如です。NDK_DEBUG=1 でコードをビルドし、実行可能ファイルと .so を .obj dir からデバイスにコピーしましたが、gdb+gdbserver から「ステップバイステップ」デバッグを実行しても、gdb から見たプログラム フローは表示されません。意味があります。

0 投票する
2 に答える
5879 参照

android - Android デバッグ ndk-gdb

私はこれと何日も戦っていて、近づいてきましたが、まだ運がありません. 正常に動作する ndk-build NDK_DEBUG=1 を介して Android アプリをビルドしようとしています。Eclipse から起動して実行することはできますが、コマンド ラインからデバッグしたいと考えています。そのため、ndk-gdb でさまざまなアプローチを試みましたが、うまくいきませんでした。「ndk-gdb --start --nowait --verbose」、「ndk-gdb --start --verbose」、「ndk-debug」を試しましたが、何も動作しないようです。「no-wait」フラグを外すと、わずかに異なる出力が得られますが、同じエラーがポップアップします...

no-wait フラグなし:

これにより、Androidデバイスで「デバッガーを待っています」という通知が発生するため、次のフラグを取得します。

誰かが私の問題が何であるか手がかりを持っていますか?? ありがとうございました!!

0 投票する
1 に答える
451 参照

android - GDB と Eclipse を使用して NDK の C++ コードをデバッグできませんでした (OS - Windows 7)

hello-neon サンプル アプリをデバッグしようとしているとき。しかし、F11 (デバッグ) を押すと、以下のエラーが表示されます (ただし、アプリは起動して動作します)。

警告: ターゲットの説明の解析中 (1 行目): ターゲットの説明に不明なアーキテクチャ "i386" が指定されました 警告: XML ターゲットの説明を読み込めませんでした。AssignProcessToObject を無視できませんでした

コメント: Item Atom Phone を使用しています。

修正方法は?

0 投票する
1 に答える
942 参照

android - ネイティブ アプリのデバッグ中に Gdbserver の奇妙なエラーが発生しました

Android デバイスでネイティブ アプリをデバッグしようとしています。私はこのチュートリアルに従いました: http://blog.thecobraden.com/2012/02/debugging-apps-with-native-code-part-1_09.html そして、すべてがうまくいったので、アプリをビルドしてインストールしました。 ndk-gdb でデバッグするには、次のエラーが発生しました: リモート デバイスを開けませんでした: 引数が無効です。

このエラーを検索したところ、次の回答が見つかりました: Android NDK デバッグ: デバイスを開くことができません 私の問題と非常によく似ています。

私の電話はルート化されているので、gdbserver がソケットを開けない理由がわかりません.gdbserver バイナリに異なる権限を与えようとしましたが、それでもうまくいきません。解決策はありますか?

0 投票する
1 に答える
283 参照

android - Gradleフレーバーのndk-gdb

私のAndroidプロジェクトには、デフォルトのパッケージ名を持つデフォルトのフレーバーがあります。

そして、私build.gradleは別のパッケージ名で別のフレーバーを追加しました:

APK がデバイスにインストールされた後、アタッチしたいのですが、次のndk-gdbような問題が発生します。

  1. インストールすれば、com.my.defaultすべて問題ありません。
  2. をインストールすると、で定義されているを探していたためcom.my.another、 は失敗します。ndk-gdbcom.my.defaultAndroidManifest.xml
  3. のパッケージ名AndroidManifest.xmlcom.my.another手動で変更すると機能しndk-gdbます。

そして私の質問:ndk-debugフレーバーで生成された APK を変更せずにデバッグするために使用できる方法はありAndroidManifest.xmlますか?

0 投票する
0 に答える
230 参照

android - ndk-gdb を機能させる: APP_BUILD_SCRIPT が不明なファイルを指している: Android.mk

これについていくつか質問があり、いくつかの解決策を試しましたが、まだ上記のエラーが発生します。

私のプロジェクトのルートは

私のjniフォルダは

Android.mk はこちら

Application.mk はこちら

これが私のndkログが終わる場所です:

Application.mk で APP_BUILD_SCRIPT を定義していませんが、モジュール ディレクトリ (つまり、jni ディレクトリの親) を指すように .bash_profile で NDK_PROJECT_ROOT 環境変数を定義しました。

何か案は?

0 投票する
1 に答える
364 参照

ant - ant デバッグは、apk ファイルに gdb.setup を含めることができませんでした

私は長い間このネイティブ アプリケーションを (Mac 端末から) 正常にビルドしてきましたが、今日、特定できないエラーに遭遇しました。すべての javac 警告に疲れた後、新しいバージョンの ant にアップグレードしました。関連があるかどうかはわかりませんが、タイミングが疑わしいです。アプリケーションをビルド、デプロイ、実行することはできますが、ndk-gdb を使用してアプリケーションのネイティブ部分をデバッグすることはできなくなりました。調べてみると、gdb.setup ファイルがデバッグ apk に追加されていないようです。

ここでは、ビルド シーケンス、省略された出力、および情報を示します。問題を解決する方法についての提案を探しています。

NDK ビルドと ant ビルドの両方を完全にクリーンアップしました

Android NDK のバージョンと Android SDK のバージョンはすべて最新です。私は、android studio sdk ツールが読み込まれる組み込みの ndk-bundle を使用します。

私たちが開発するデバイスはルート化されておらず、オプションではありません。

hsmith$ java -version Java バージョン "1.8.0_45"

Java(TM) SE ランタイム環境 (ビルド 1.8.0_45-b14) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 25.45-b02、混合モード)

hsmith$ $ANT_HOME

-bash: /Users/hsmith/dk/ant/apache-ant-1.9.6: ディレクトリです

hsmith$ ndk-build -j4 NDK_DEBUG=1

[armebi-v7a] Gdbserver : [arm-linux-androideabi-4.8] libs//gdbserver

[armebi-v7a] Gdbsetup : libs//gdb.setup

[armebi-v7a] インストール: lib1.so => libs/armebi-v7a/lib1.so

[armebi-v7a] インストール: lib2.so => libs/armebi-v7a/lib2.so

[armebi-v7a] インストール: lib3.so => libs/armebi-v7a/lib3.so

hsmith$ ant debug … -package: [apkbuilder] 変更された入力ファイルが見つかりました

[apkbuilder] -debug-unaligned.apk を作成し、デバッグ キーで署名します...

-ポストパッケージ:

-do-debug:

[zipalign] 最終的な APK で zip align を実行しています...

[propertyfile] プロパティ ファイルを更新中: /Users/hsmith/packageFolder/bin/build.prop

[propertyfile] プロパティ ファイルを更新中: /Users/hsmith/packageFolder/bin/build.prop

[propertyfile] プロパティ ファイルを更新中: /Users/hsmith/packageFolder/bin/build.prop

[propertyfile] プロパティ ファイルを更新中: /Users/hsmith/packageFolder/bin/build.prop

-ビルド後:

デバッグ:

ビルド成功

hsmith$ adb install -r ~/packageFolder/bin/-debug.apk

hsmith$ ndk-gdb adb --start

エラー: パッケージはデバッグできません! これは、次の 2 つの方法で修正できます。

  • 「ndk-build」を呼び出すときに NDK_DEBUG=1 オプションを使用して再構築しました。

  • マニフェストを変更して android:debuggable 属性を「true」に設定します。

    その後、正常に再構築します。

これらのいずれかの後、デバイスに再インストールしてください。

apkファイルを解凍して見つけました

解凍したapkファイル/lib/target/

hsmith$ ls -la

合計 48264

drwxr-xr-x 12 hsmith スタッフ 408 8 月 25 日 14:50 。

drwxr-xr-x 5 hsmith スタッフ 170 8 月 25 日 14:50 ..

-rwxr-xr-x 1 hsmith スタッフ 409940 6 月 3 日 11:47 gdbserver

-rwxr-xr-x 1 hsmith スタッフ 33920 8 月 25 日 14:44 lib1.so

-rwxr-xr-x 1 hsmith スタッフ 165092 8 月 25 日 14:44 lib2.so

-rwxr-xr-x 1 hsmith スタッフ 1614028 8 月 25 日 14:44 lib3.so

gdb.setup ファイルがないことに注意してください

マニフェストでは debuggable=true を使用しません。これは不要になったためですが、含めても結果には影響しません。

更新: https://code.google.com/p/android/issues/detail?id=183455 これはまさに私が抱えている問題です。ターゲット ディレクトリから ./lib ディレクトリにターゲット gdb.setup ファイルをコピーすると、ndk-gdb を動作させることができます。ndk-gdb の COMPAT_ABI 変数が正しく設定されておらず、スクリプトがスピンに送られています。彼らがこれをすぐに修正することを願っています。壊れたツール チェーンでほぼ 3 日が無駄になりました。

0 投票する
1 に答える
351 参照

android - Chrome ARCでgdbをAndroidエミュレーターにアタッチする方法

Chrome ARC で Android アプリをデバッグするには、gdb をアタッチする必要があります。adb プラグインをロードした後、「adb devices」にリストされているデバイスを確認できますが、このエミュレーターで gdb サーバーを起動できません。ARCエミュレータを検出できないAndroidスタジオでも同じことが起こります。Java およびネイティブ サイド コードの ARC で Android アプリをデバッグする簡単な方法はありますか? これまでは、主に logcat トレースに依存してきましたが、アプリの複雑さのために、完全に logcat トレースに依存することは難しくなっています。

0 投票する
2 に答える
1292 参照

android - ndk-gdb は gdb.setup を見つけることができませんが、x86 の下にあります

Eclipse でデバッグしようとしている Mac 上の Cocos2d-x 3.7.1 + ndk r10e プロジェクト。日が経ち、エラーが発生し続けます...

proj.android のターミナルから -p android -m debug --ndk-mode NDK_DEBUG=1 で cocos compile と cocos run を使用してビルドおよび実行できます。

私のアプリは x86 エミュレーターで (最終的には) 問題なく動作します。

./proj.android からターミナルに「ndk-gdb」と入力すると、エラーが発生します

エラー: ./libs/ の下に gdb.setup が見つかりませんでした

しかし、ファイルgdb.setup (および gdbserver & libcocos2dcpp.so) は ./proj.android/libs/x86 で見ることができます!?

私の AndroidManifest.xml には android:debuggable="true" が含まれています

私の jni/Application.mk には APP_ABI := x86 (のみ) が含まれています

この問題を診断または修正する方法を誰かが教えてくれたら、ビールを借りていると思います(ところでヨークシャーで)

更新: --verbose フラグを使用して GDB を実行しようとしました。出力が表示されます

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

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

どこかで設定/初期化ファイルを変更する必要があると思いますか??