OS-X 10.9.5 で goclipse v0.11.0 を使用して Eclipse Luna で動作する go プログラムのデバッグを取得しようとしています。私はbrewのGNU gdb(GDB)7.9.1とgo1.4.2を使用しています。
gdb
こちらの手順を使用して、正常にインストールし、コード署名しました。
http://ntraft.com/installing-gdb-on-os-x-mavericks/
go プログラムをビルドしていますが-gcflags "-N -l"
、コマンド ラインで正常にデバッグできます。これには、go 関数にブレークポイントを設定したり、gdb
コマンド ラインでそれらをステップ実行したりして、ソースが表示される必要があります。
ただし、goclipse では、メニューの「ブレークポイントの切り替え」項目がグレー表示され、「ブレークポイント タイプ」リストに「利用できない」と表示されているため、ブレークポイントをまったく設定できません。
「メイン」で「スタートアップ時に停止」を選択すると、アセンブラをステップ実行できますが、これは役に立ちませんが、gdb が使用されていることを証明します。
上記のオプションを設定したままにしておくと、プログラムがブレークポイントに到達するまで待ってからmain
(Eclipse 内の gdb コンソールで) と入力break main.foo
するcont
と、ブレークポイントが適切な場所に設定され、Eclipse IDE でステップ実行できるようになります。したがって、唯一の問題はIDE でブレークポイントを設定することです。
関連する go プログラムは単一のファイルであり、コマンド ライン gdb で動作します。バイナリを削除して新たに開始したので、これは「再構築が必要」の問題ではありません。
関連する質問: GoClipse を使用して Go プログラムをデバッグするには? ただし、そこにある2つの答えは、「起動時に停止を無効にする」(ここでは違いはありません) であり、保証-gcflags "-N -l"
が与えられています (違いはありません)。
スクリーンショット:
何か案は?