macOS 10.12.1 から Go言語 + devle の Debug が行えなくなった問題への対処

  • 7
    Like
  • 0
    Comment

上記の Issue のとおりですが macOS 10.12.1 以降で delve を使った Go言語の Debug が行えなくなっています。

could not launch process: could not get thread count

workaround は Issue 中で解説されていますが、 IntelliJ IDEA 2016.2 を利用している場合の対応を補足します。

patch があたっている commit から delve を build

mkdir -p $GOPATH/src/github.com/derekparker
git clone https://github.com/derekparker/delve.git $GOPATH/src/github.com/derekparker
cd $GOPATH/src/github.com/derekparker/deleve
git fetch origin pull/665/head
git checkout FETCH_HEAD
CERT=dlv-cert make install

delve の 導入がはじめての場合、delve Install 手順 に従い導入します。

IntelliJ IDEA の場合

IntelliJ IDEA の場合 (正確には go-lang-idea-plugin を使用している場合)、delve は Application Support Directory 内 のバイナリが利用されます。そのため、上述の手順で Build した dlv と差し替えます。

# backup
cp "~/Library/Application Support/IntelliJIdea2016.2/Go/lib/dlv/mac/dlv"
 "~/Library/Application Support/IntelliJIdea2016.2/Go/lib/dlv/mac/backup_dlv"

# overwrite
cp $GOPATH/bin/dlv
"~/Library/Application Support/IntelliJIdea2016.2/Go/lib/dlv/mac/dlv"

OS を再起動して完了。

break point を使用したりするとときおり動作が停止するような気がしなくもないですが関連は不明です