delveとは Go向けのデバッガで、ステップ実行とかブレイクした行のレキシカル変数が見えたりといった基本的な機能を提供しつつ、 dlv debug でコンパイルしつつ実行 ( go run ) したりgo(1)とほどよく統合されている。 後述するheadlessモードがあっていわゆるリモートデバッグが可能。

delveをmacOSにインストールする 公式のドキュメントでは brew install go-delve/delve/delve 一発で済むように書かれているが実際はうまくいかなかった (´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥｀) ==> Installing go-delve/delve/delve ==> Downloading https://github.com/derekparker/delve/archive/v1.0.0.tar.gz ==> Downloading from https://codeload.github.com/derekparker/delve/tar.gz/v1.0.0 ######################################################################## 100.0% security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain. ==> Generating dlv-cert ==> openssl req -new -newkey rsa:2048 -x509 -days 3650 -nodes -config dlv-cert.cfg -extensions codesign_reqext -batch -out dlv-cert.cer -keyout dlv-cert.key ==> [SUDO] Installing dlv-cert as root ==> sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain dlv-cert.cer Last 15 lines from /Users/aereal/Library/Logs/Homebrew/delve/02.sudo: 2018-02-28 11:11:35 +0900 sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain dlv-cert.cer If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): https://github.com/go-delve/homebrew-delve/issues These open issues may also help: Upgrade to delve fails https://github.com/go-delve/homebrew-delve/issues/20 紹介されているissueを見てみると証明書を生成してインポートするスクリプトを手で実行したらうまくいったと書いてある。 実際に実行した手順はこういうかんじ: ✘>﹏<✘ < cd $(brew --cache)/ ✘╹◡╹✘ < tar xzf delve-1.0.0.tar.gz ✘╹◡╹✘ < cd delve-1.0.0 ✘╹◡╹✘ < bash ./scripts/gencert.sh ✘╹◡╹✘ < brew install go-delve/delve/delve delveをインストールしたら sudo pkill taskgated を実行してtaskgatedを再起動する。

プロセス間通信を監視するデーモンらしく、 bash ./scripts/gencert.sh で生成・インポートした証明書を読み込みしなおす必要がある。