MacのIntelliJ IDEA でGO言語を使う①
MacのIntelliJ IDEA でGO言語を使う②
で、とりあえず、コードが実行できるように開発環境は整った。
次は、GDBでデバックし、ブレークポインタや変数の中身を覗きたいなーと思ったので、
設定してみた。
##gdbのインストール
まずは入っているか確認してみた。
$ gdb
zsh: command not found: gdb
ないじゃん。
brewであったりするのかなーと探してみた。
$brew search gdb
cgdb gdbm pgdbf
homebrew/dupes/gdb Caskroom/cask/macgdbp
homebrew/dupes/gdb
あるじゃん。
早速インストール。
$ brew install homebrew/dupes/gdb
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-dupes'...
remote: Counting objects: 1510, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 1510 (delta 5), reused 1 (delta 1)
Receiving objects: 100% (1510/1510), 301.52 KiB | 199.00 KiB/s, done.
Resolving deltas: 100% (830/830), done.
Checking connectivity... done.
Tapped 36 formulae
==> Installing gdb from homebrew/homebrew-dupes
==> Installing gdb dependency: xz
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/xz-5.0.7.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring xz-5.0.7.yosemite.bottle.tar.gz
? /usr/local/Cellar/xz/5.0.7: 58 files, 1.5M
==> Installing gdb
==> Downloading http://ftpmirror.gnu.org/gdb/gdb-7.8.1.tar.xz
######################################################################## 100.0%
==> Patching
patching file gdb/darwin-nat.c
==> ./configure --prefix=/usr/local/Cellar/gdb/7.8.1 --with-system-readline --with-lzma --with-python=/usr
==> make
^@^@^@==> make install
==> Caveats
gdb requires special privileges to access Mach ports.
You will need to codesign the binary. For instructions, see:
http://sourceware.org/gdb/wiki/BuildingOnDarwin
==> Summary
? /usr/local/Cellar/gdb/7.8.1: 42 files, 5.7M, built in 3.1 minutes
できた。確認。
$which gdb
/usr/local/bin/gdb
$gdb --version
GNU gdb (GDB) 7.8.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin14.0.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
ただし、このままだと、ゲートキーパーというMacOSのセキュリティ設定によって、
gdbがデバックしたいプロセスにアタッチすることができません。
インストール時にも、こんなメッセージがでてきましたね。
gdb requires special privileges to access Mach ports.
You will need to codesign the binary. For instructions, see:
http://sourceware.org/gdb/wiki/BuildingOnDarwin
よって、証明書を作成してあげる必要があります。
##証明書を作成して、適用する
1.ご存知、キーチェーンアプリを立ち上げてください。
2.証明書作成を選択
3.名前を、「gdb-cert]とかにして次へ。
4.その他は適当で大丈夫なので、以下の画面がでるまで、次へで進んでください。
でたら、システム
を選択。
5.できた証明書をダブルクリックして、コード署名のところを「常に信頼」に変更。
6.最後に以下のコマンドを打って、署名してあげてくださいな。
codesign -s gdb-cert /usr/local/Cellar/gdb/7.8.1/bin/gdb
##IntelliJにgdbの設定をする。
1.Edit Configurations...
を選択。
2.「debug」のタブを開いて、gdb executable
に
/usr/local/bin/gdb
と入力する。
3.デバックモードを有効にする
runタブを選んで、Enable debugging
を有効してしてください。
グレーアウトで選べない時は、一つ上のBuild before run
のチェックボッスクを付け外しすると
選べるようになります。(バグだね、これ。)
設定完了。お疲れさん。
##ブレークポイント貼ってみる。
ソースコードにブレークポイントを貼って、
右上の昆虫のマークをクリック。
おーーーーー、とまった。
やっぽい。
##まとめ
これで、IntelliJを使って、GO言語のコーディングおよび、デバックができるようになった。
次はフレームワークでも試すかなー。