オンラインでいくつかのチュートリアルに従い、gdb をセットアップしてネイティブ コードをデバッグしようとしました。
- Android NDK ビギナーズ ガイドの第 11 章。
- ビデオ: http://www.youtube.com/watch?v=hMV7Xqcn39k&list=PLD89B891EF9D26F14&feature=mh_lolz
- フォーラム: http://wiki.eclipse.org/Sequoyah/ndk_guide
それらのどれも私のデバッガーを完全に機能させませんでした。
上記のすべてのチュートリアルで、ネイティブ コードをデバッグするための正しい手順として同意されている次の手順に従って、特定の問題が発生しました。
- Eclipse で、JAVA デバッグ セッションを開始し、onCreate() メソッドの最初のブレークポイントで停止します。
- ターミナルで、プロジェクト フォルダーの下で ndk-build-eclipse (元の ndk-gdb のコピーで、gdb クライアントをサーバーに自動接続することに関する最後の行がないもの) を実行しますが、明確な警告やエラーは表示されません。
- ターミナルで chmod +x MY_PROJECT/obj/local/armeabi/app_process (私は Mac を使用しています)、そうしないと、「不明な理由で MY_PROJECT/obj/local/armeabi/app_process を実行できません」というエラーが表示されます。この app_process は、C++ デバッグ構成で GDB デバッガーとして設定されています。
- Eclipse で、C++ デバッグ構成を開始します。
次に、次のようなエラー ダイアログが表示されました。
Error creating session
Process Terminated
Process Terminated
Process Terminated