問題タブ [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 投票する
0 に答える
1274 参照

android - android package is not debuggable error Android Studio NDK

私はデバッグ可能な APK を持っていることを知っており、ファイルが自分の電話にプッシュされていることを示す次の出力に基づいて、電話で実行しています。

しかし、GDB を実行すると、apk がデバッグ可能ではないというエラーが表示されます。

これは、プロジェクトの /main ディレクトリから gdb を呼び出すためだと思います。これは、GDB が実行を開始する唯一の場所です。また、ファイル構造の別のブランチから離れているデバッグ可能なファイルは表示されません。下記を参照してください:

問題は、プロジェクトのルートから実行し、デバッグ可能なファイルを使用するように指示する必要がある GDB をどのように実行するかです。

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

android - ndk-gdb が gdb.setup を見つけることができません

ndk-gdb を使用して、ネイティブ Android プロジェクトをデバッグしようとしています。コマンド ndk-gdb を実行すると、エラーが発生します

説明

  • MacOSX、ndk r10e を実行しています。ndk サンプル サン アンジェルスの使用
  • こちらの手順に従って、ネイティブ デバッグをセットアップしますhttps://developer.android.com/ndk/guides/ndk-gdb.html
  • 基本的に、私は android:debuggable="true", APP_OPTIM := debug を設定し、ndk-build NDK_DEBUG=1 を使用してネイティブをビルドしました (これら 3 つの設定は不要かもしれませんが、念のため)
  • ant debug、adb install を使用してインストールしました。アプリを実行し、アプリは正常に動作します
  • ndk-gdb --verbose を実行すると生成されます

    ndk-gdb --verbose

    Android NDK のインストール パス:

    デフォルトの adb コマンドを使用:

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

    ADB フラグの使用:

    JDB コマンドの使用:

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

    見つかったパッケージ名:com.example.SanAngeles

    アプリケーションが対象とする ABI: arm64-v8a armeabi armeabi-v7a armeabi-v7a mips mips64 x86 x86_64

    デバイス API レベル: 19

    デバイス CPU ABI: x86

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

    gdb セットアップ初期化の使用:

    ツールチェーン プレフィックスの使用:

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

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

    エラー:

    /li>
0 投票する
1 に答える
347 参照

android-ndk - 最新の ndk-gdb がデバイスに接続できない

ndk-gdb を使用してネイティブ アプリケーションをデバッグする際に問題が発生します。これは私の環境です:

  • OS X El キャプテン 10.11.5
  • NDK バージョン r12
  • SDK バージョン 24
  • ビルド ツール バージョン 24.0.0
  • Android N を搭載した Nexus 6P 端末(NPD35K)

問題:

起動しようとndk-gdbすると、常にメッセージで失敗します

ただし、gdbserverアプリが一時停止されているため、インスタンスは既に起動されており、リストに表示gdbserverされていadb shell psます。

私が試したこと:

  1. スクリプト で開始gdbserverする代わりに、手動で起動し、 実行が継続することを確認しましたndk-gdbgdbserveradb run-asgdbserver
  2. によってソケットフォワードを行いますadb forward :5039 localfilesystem:/the_gdb_socket_path

  3. netstat -na | grep 5309ポートがリッスンしていることを確認するために使用します

  4. telnet localhost 5039ソケットをテストするために使用しますが、エラーが発生しますConnection closed by foreign host

接続時にリモート gdb が失敗した問題の原因を特定するより良い方法はありますか?

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

android-ndk - 2 つのデバイスに接続された ndk-gdb を実行できますか?

2 つのデバイスに接続された ndk-gdb の 2 つのインスタンスを実行しようとしています。

しかし、このページに基づいて、私はそれを行う方法を見つけることができません...

https://developer.android.com/ndk/guides/ndk-gdb.html

adb上で実行されているndk-gdbの2つのインスタンスに2つの別々のデバイスを接続することさえ可能ですか?

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

android - Android Studio がコア ダンプを生成する CMake

Android Studio アプリケーションのコア ダンプを生成しようとしています。Java で書かれていますが、ネイティブ ライブラリでクラッシュが発生しているため、コアダンプを生成しようとしています。

Android.mk ではなく、cmake を使用してネイティブ ライブラリを構成しています。

だから私が実行しようとすると、次のようndk-gdbになります:

アプリケーションで CMake を使用しているときにコア ダンプを取得するにはどうすればよいですか? どうすれば走ることgdbができますか?

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

android - ndk-gdb の「Android.mk からアプリケーション ABI を取得できませんでした」エラー

ndk-gdb ツールを使用してネイティブ Android アプリをデバッグしようとしています。ndk-gdb を実行すると、次のエラーが発生します。

"/home/amila/Android/Ndk/android-ndk-r20/build/core/add-application.mk:88: *** Android NDK: 中止しています... . 停止します。エラー: Android からアプリケーション ABI を取得できませんでした.mk."

コマンドを使用してネイティブ パーツをビルドndk-buildしましたが、アプリは Android Studio で問題なくビルドされています。

jni ディレクトリ: /ndktest/jni (ndktest はアプリ名)

ndk-gdbAndroidManifest.xml が存在するディレクトリ (/ndktest/app/src/main) でコマンドを実行しました。

私もAPP_ABI := arm64-v8aAndroid.mk に追加してみましたが、何も変わりませんでした。

jni/Android.mk

jni/アプリケーション.mk

ndk-gdbツールを実行してもエラーは発生しません。