問題タブ [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.
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 から見たプログラム フローは表示されません。意味があります。
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デバイスで「デバッガーを待っています」という通知が発生するため、次のフラグを取得します。
誰かが私の問題が何であるか手がかりを持っていますか?? ありがとうございました!!
android - GDB と Eclipse を使用して NDK の C++ コードをデバッグできませんでした (OS - Windows 7)
hello-neon サンプル アプリをデバッグしようとしているとき。しかし、F11 (デバッグ) を押すと、以下のエラーが表示されます (ただし、アプリは起動して動作します)。
警告: ターゲットの説明の解析中 (1 行目): ターゲットの説明に不明なアーキテクチャ "i386" が指定されました 警告: XML ターゲットの説明を読み込めませんでした。AssignProcessToObject を無視できませんでした
コメント: Item Atom Phone を使用しています。
修正方法は?
android - ネイティブ アプリのデバッグ中に Gdbserver の奇妙なエラーが発生しました
Android デバイスでネイティブ アプリをデバッグしようとしています。私はこのチュートリアルに従いました: http://blog.thecobraden.com/2012/02/debugging-apps-with-native-code-part-1_09.html そして、すべてがうまくいったので、アプリをビルドしてインストールしました。 ndk-gdb でデバッグするには、次のエラーが発生しました: リモート デバイスを開けませんでした: 引数が無効です。
このエラーを検索したところ、次の回答が見つかりました: Android NDK デバッグ: デバイスを開くことができません 私の問題と非常によく似ています。
私の電話はルート化されているので、gdbserver がソケットを開けない理由がわかりません.gdbserver バイナリに異なる権限を与えようとしましたが、それでもうまくいきません。解決策はありますか?
android - Gradleフレーバーのndk-gdb
私のAndroidプロジェクトには、デフォルトのパッケージ名を持つデフォルトのフレーバーがあります。
そして、私build.gradle
は別のパッケージ名で別のフレーバーを追加しました:
APK がデバイスにインストールされた後、アタッチしたいのですが、次のndk-gdb
ような問題が発生します。
- インストールすれば、
com.my.default
すべて問題ありません。 - をインストールすると、で定義されているを探していたため
com.my.another
、 は失敗します。ndk-gdb
com.my.default
AndroidManifest.xml
- のパッケージ名
AndroidManifest.xml
をcom.my.another
手動で変更すると機能しndk-gdb
ます。
そして私の質問:ndk-debug
フレーバーで生成された APK を変更せずにデバッグするために使用できる方法はありAndroidManifest.xml
ますか?
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 環境変数を定義しました。
何か案は?
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 日が無駄になりました。
android - Chrome ARCでgdbをAndroidエミュレーターにアタッチする方法
Chrome ARC で Android アプリをデバッグするには、gdb をアタッチする必要があります。adb プラグインをロードした後、「adb devices」にリストされているデバイスを確認できますが、このエミュレーターで gdb サーバーを起動できません。ARCエミュレータを検出できないAndroidスタジオでも同じことが起こります。Java およびネイティブ サイド コードの ARC で Android アプリをデバッグする簡単な方法はありますか? これまでは、主に logcat トレースに依存してきましたが、アプリの複雑さのために、完全に logcat トレースに依存することは難しくなっています。
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
どこかで設定/初期化ファイルを変更する必要があると思いますか??