MacでGo言語(golang)のLiteIDE導入
Mac OS 10.9 mavericksにLiteIDE X20を導入したのときの備忘録です。
基本的にはこちらのサイトに従ってインストールしていったのですが
ハマりどころがあったのでメモ。
Installing Go, Gocode, GDB and LiteIDE
LiteIDEでStart Debuggingしてもデバッグされない
症状は、デバッグスタート(緑色の矢印がmain関数を指す)するが
ブレイクポイントで止まってくれない。
Async Recordの中身が参考サイトのように充実してなくてスカスカ。
stoppedとthread_id=1しか表示されない
コンソールには
Unable to find Mach task port for process-id 12383: (os/kern) protection failure (0x2).\n (please check gdb is codesigned - see taskgated(8)
的なことが表示されてて、どうもgdbのcodesignedがうまく言っていない様子。
やったこと
全てこの手順で行う必要があるのかは微妙ですが
とりあえず正常に動くようになるまでの作業を列記します。
証明書の再発行
証明書の手順が間違ったかな?と思い
一度作ったgdb-certをキーチェインアクセスから削除。
再度作成しました。
コード署名失敗
$ sudo codesign -s gdb-cert /usr/local/bin/gdb /usr/local/bin/gdb: is already signed
もう既に署名済みだよと怒られるばかり。。。
taskgated修正
http://qiita.com/ymotongpoo/items/81d3c945483cae734122
こちらを参考に修正しました。
sudo vi /System/Library/LaunchDaemons/com.apple.taskgated.plist - <string>-s</string> + <string>-sp</string>
stringオプションを -s から -sp に変更。
そしてMacを再起動!
gdb削除&再make install
$ cd /usr/local/bin $ sudo rm -rf -R gdb $ cd ~/Downloads/gdb7.7 $ sudo make install
一度フォルダ丸ごと削除して、もう一度gdbをmake installしました。
コード署名成功
$ sudo codesign -s gdb-cert /usr/local/bin/gdb
今度はちゃんと署名成功!
そしてLiteIDEでStart Debuggingしたらブレイクポイントで止まり
ローカル変数の内容も確認できました!