2012-11-06 6 views
5

サンプルhello-jniのCコードをデバッグするのに何日も努力してきましたが、成功しませんでした。私はすべての要件をインストールして、この作業をしようとするために多くのブログ投稿(毎回プロセスを繰り返す)に従っています。メイク、GCCとのHelloJniのネイティブコードをデバッグする

私はCDT 8.0.2

  • のAndroid NDKのR8Bで

    • のWindows 7 64ビット
    • のEclipseジュノを使用しています
    • のAndroid SDK 20.0.3
    • 最新のcygwin -coreとgcc-g ++がインストールされている(altho I NDK r8bは必要ありません)

    私はセットアップとAPKを構築するために、この http://developer.android.com/tools/sdk/ndk/index.html を追っています。これは、構築し、罰金インストールし、Androidのアプリケーションとして

    を立ち上げた場合、私はJavaコードをデバッグすることができ、私はNDKプラグイン http://tools.android.com/recent/usingthendkplugin については、この記事を踏襲したが、CのコードにブレークポイントとAndroidのネイティブアプリケーション、アプリとして起動したときブレークポイントにヒットせず、エラーメッセージも表示されず、通常どおり起動して実行されます。

    ご協力いただければ幸いです。 ありがとう!

    編集:ここでは

    がクリアされる前に、0.5秒間コンソールに表示されるいくつかのエラーをだ

    警告:/システム/ binにするために定義されていませんセグメント:(2行目で)ターゲットライブラリリストを解析中/ linker

    警告:52個のライブラリの共有ライブラリシンボルを読み込めませんでした。/system/bin/linkerにあります。

    "info sharedlibrary"コマンドを使用して完全なリストを表示します。

    "set solib-search-path"または "set sysroot"が必要ですか?

    警告:ダイナミックリンカブレークポイント機能が見つかりません。

    GDBが共有ライブラリ初期化子 をデバッグして明示的にロードされた動的なコードを追跡することができません。

    (プログラムが再開されたときに信号SIGINTを期待して)終了

  • 答えて

    4

    私は使用上のガイドが、私は必要なすべてだったし、すべてが働いていたが判明しました。

    警告メッセージはただの警告だったので、ネイティブコードのデバッグは一貫して機能しました。 私の問題は、ブレークポイントを直ちに呼び出していたネイティブ関数呼び出しで、gdbをアタッチする前です。私はonClickにJNI関数呼び出しを入れ、私のブレークポイントは結局打撃を受けていました。

    私は上記のリンクとこの回答が誰かを助けることを願っています。 ありがとうございます...現時点ではNDKのドキュメント.. 」によると

    +0

    ありがとうございます!助けて – marchinram

    +1

    ありがとう。それは2年後でも完璧に動作します:) – Vyacheslav

    0

    『NDK-gdbが』を実行するUnixシェルが必要です。これは のCygwinはWindows上でそれを実行するために必要であることを意味している。私たちは、この 制限を取り除くために願っています将来のNDKリリースです

    JeffGはcygwinなしでWindows上でネイティブコードをデバッグできますか?

    +0

    私はcygwinをインストールしました。すべてうまく動作します – JeffG

    +0

    ジェフ、あなたはどのようにステップで説明できますか? – Ali

    +0

    チュートリアルへのすべてのリンクと上記の私の答えについて上記の質問を参照してください – JeffG

    関連する問題