背景

在Mac上使用Visual Studio Code做Golang开发,使用了Go的插件,这个插件可以让用起来很舒服。

但是最近遇到一个问题,在启动debug的时候会提示could not launch process: could not get thread count的问题。

想法一

难道是因为更新了插件导致的问题么?

个人认为不是,因为这个插件其实可以算一个包,包含了其他各种插件,但是唯独debug用的delve是自己独立安装的。并且再次升级到最新版,也不能解决这个问题。

想法二

那我就单独更新一下delve试试,因为是用homebrew安装的,所以直接

1
brew install go-delve/delve/delve

发现并没有更新,

1
Warning: go-delve/delve/delve-0.11.0 already installed

想法三

那就只能去delve的github主页看看了,果然这个问题不是我一个人遇到了,翻了几个相关issues发现这个好像是mac导致。

而且已经有人提供了解决办法,并且原作者已经merge了,但是不知道为什么homebrew里面没有使用这个分支。

解决过程

那么就需要自己去装了,但是手动安装和用homebrew不知道有没有冲突,所以一直没动手,直到找到一个同样使用homebrew安装的解决办法

参考这个解决办法,经过实践,发现直接使用下面就可以让delve在visual studio code中运行成功。

1
2
3
4
5
$ mkdir -p ~/go/src/github.com/derekparker/
$ cd ~/go/src/github.com/derekparker/
$ git clone https://github.com/derekparker/delve.git
$ cd delve #这里去掉取某个特定分支,因为该分支已经被merge到master了
$ CERT=dlv-cert make install

最后在vscode里面的debug页,按照正常的配置去配置就可以了。