2012-09-26 14 views
7

Sequoyah Android Native Supportをインストールしました。これでデバッグモードを実行できます。私はネイティブメソッドと同じ行にブレークポイントを持っているので、デバッグJavaモードを実行すると、この行でEclipseが停止し、 'ndk-gdb'を実行し、C/C++デバッグモードをランチします。コンソールの何かを参照してください。しかし、どのように私はCのブレークポイントを置くことができますか?私のCコードは.soライブラリなので、このファイルにブレークポイントを入れることはできません。 .cファイルと.hファイルがあるところにJNI floderがありますが、ブレークポイントを置くと停止しません。 Eclipseログはブレークポイントを認識しますが、エラーを出力します。ネイティブAndroidアプリをデバッグする方法は?

break-insert com_example_pruebaffmpeg_MainActivity.c:4323 error、msg = "\"ファイル\ "コマンドを使用しています。

+0

デバッグ情報/シンボルを含むCコードをコンパイルしましたか? GCCでコンパイルする場合は、コンパイルとリンクの両方のステップに '-g'オプションを含めてください。 –

+0

私はあなたが私に何を説明しているのか分かりません。私はCコードをコンパイルして.soライブラリを取得するためにndk-buildを使用しています。そして私はEclipseでNDKツールを使ってAndroidプロジェクトを実行します。 – beni

+1

ndk-buildには、デバッグシンボルを使用してビルドするために必要な他の手順があります。 [この質問]を見てください(http://stackoverflow.com/questions/8934575/debugging-android-ndk-native-apps) –

答えて

1

SequoyahをアンインストールしてADTを使用してみましたか?バージョン20の時点で、Eclipse ADT pluginは古いSequoyaのやり方よりも簡単かつ確実にNDKプロジェクトをデバッグできます。

+0

私はSequoyahをアンインストールしました。私はADTを使ってデバッガを起動しようとしましたしかし、実行されません。あなたはもう少し説明したり、リンクを投稿したりできますか? – beni

+0

私はこの[link](http://tools.android.com/recent/usingthendkplugin)の指示に従っていますが、デバッガは動作しません – beni

+0

コンソールにこのエラーが表示されます----> warning:while/home/beni/workspace/Prueba/obj/local/armeabi-v7a/linker:警告:sh_linkがセクション 'に設定されていません。 .ARM.exidx ' 警告:63個のライブラリの共有ライブラリシンボルをロードできませんでした。 libstdC++。so。 "info sharedlibrary"コマンドを使用して、完全なリストを表示します。 "set solib-search-path"または "set sysroot"が必要ですか? シンボルテーブルがロードされていません。 "file"コマンドを使用します。 – beni

関連する問題