38

XCode 5.0 で Eclipse C/C++ プロジェクトを使用してアプリケーション デバッグを作成する際にひどい問題が発生しましたが、ついに作成しました。ようやくアプリケーションのデバッグに成功したので、他の人たちの時間を節約するためにこの小さなチュートリアルを作成することにしました。

Mavericks OS の Eclipse で C/C++ で記述されたアプリケーションをデバッグしようとすると、「エラー gdb -- バージョン」が表示されます。

これは、Apple が LLDB の代わりに GDB のサポートを中止したため、Eclipse が新しい Mac OSX で GDB デバッグを見つけることができないためです。これがあなたのケースであるかどうかを確認するには、ターミナルから実行してみてくださいgdb。ファイルが見つからないというメッセージが表示されます。

問題は、LLDB がまだ Eclipse 用に構成されていない (またはその逆) ことです。では、以前の 10.8 OS のように、Eclipse でアプリケーションを再度デバッグするにはどうすればよいでしょうか?

まず、GDB を取得してコンパイルします。次の 2 つのオプションがあります。

  • Macports (残念ながら、Mavericks のリリースは getext ライブラリのビルドでスタックしていました)
  • 自作

私の提案は、Homebrew から入手することです。Web サイトでダウンロード リンクを確認し、次を使用してインストールします。

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/hebrew/go)"

インストールしましょう。GDB が正常にインストールされたら、証明書に署名して Eclipse で GDB を使用できるようにする必要があります。そうしないと、次のエラーが表示されます。

プロセス ID 28885 の Mach タスク ポートが見つかりません: (os/kern) 障害 (0x5)。(gdb がコード署名されていることを確認してください - taskgated(8) を参照してください)

これは、Eclipse が GDB を見つけることができるが、Apple 証明書の問題のために実行できないことを意味します。

GDB アプリケーションに署名し、Eclipse で実行できるようにするには、次のガイドに従ってください。

https://sourceware.org/gdb/wiki/BuildingOnDarwin

これは次のように要約できます。

  1. Keychain Access アプリケーションを起動します (/Applications/Utilities/Keychain Access.app)
  2. メニューを開く /Keychain Access/Certificate Assistant/Create a Certificate (TOP MENU BAR)

  3. 名前を選択します (例では gdb-cert) 3.1 「ID タイプ」を「自己署名ルート」に設定します 3.2 「証明書タイプ」を「コード署名」に設定します 3.3 「デフォルトを上書きする」フラグをチェックします 3.4 「」を数回クリックします3.5 「システム」キーチェーンに証明書を保存できない場合は、「ログイン」キーチェーンに証明書を作成してからエクスポートします。それ。その後、「システム」キーチェーンにインポートできます。3.6 「システム」に「gdb-cert」があることを確認します (左上のウィンドウ)

  4. 作成したばかりの証明書 (gdb-cert) を 2 回押して [情報を見る] を選択し、

  5. 「信頼する」項目を開き、「コード署名を常に信頼する」に設定します
  6. キーチェーン アクセス アプリケーションを閉じる
  7. アクティビティモニターから「タスクゲート」アプリケーションを再起動します

次に、端末から実行して証明書に署名する必要があります

$ codesign -s gdb-cert ../path of GDB

例:

$ codesign -s gdb-cert /usr/local/bin/gdb

これですべての設定が完了しました.... MacOSX Mavericks 上の Eclipse で C/C++ アプリケーションをデバッグする準備ができました

Eclipse メニューの Run->Debug Configuration->Debugger 行をもう一度再確認して、すべてが正しく設定されていることを確認してください: GDB Debugger -> /usr/local/bin/gdb (またはローカル パス、"$ which gdb " 正しいパスを取得するには) GDB コマンド ファイル -> .gdbinit

Apple は、Mavericks に GDB をインストールすることを許可しましたが、単純な Hallo World プログラムを実行する前に、人々が壁に頭をぶつけるのが好きです。コメント無し。

楽しんでください。時間を節約できたことを願っています。

4

0 に答える 0