我用liteide进行go环境的配置,最近升级之后发现两个调试器都不能debug代码 了,主要缘由有两个。一个是软件签名问题和mac系统的安装问题。git
1.gdbgithub
经过api
brew install gdb
方式安装好软件,而后制做一个签名。这个网上都有(http://blog.csdn.net/cairo123/article/details/52054280),可是安装成功开始调度会报一个错误:安全
On macOS 10.12, it fails miserably with "During startup program terminated with signal ?, unknown signal."
这时候就须要把,mac 的SIP服务bash
经历了XCode编译器代码被注入的事件后,此次 Mac OS X El Capitan系统的升级,启用了更高的安全性保护机制:系统完整性保护System Integrity Protection (SIP)。简单来说就是更增强制性的保护系统相关的文件夹。因此有好多三方软件执行在权限方面就会出现问题,因此这个服务对开发者来讲不是很方便了ide
今天这个 Mac 技巧就教你如何关闭 Mac SIP 安全设置,不过须要提醒,初级 Mac 用户不要关闭安全设置。fetch
这样 SIP 安全设置就已经被关闭了,若是想从新开启该安全设置,重复上面步骤,在第三步中将命令更换为 csrutil enable。重启以后 就能够调试代码 了.net
2.delvedebug
而后下一个就是delve调试器了,主要问题是两个。是一签名。另外一个是安装方式。之前我经过brew install delve的方式出现forx/exec 的交叉编译异常和could not get thred count异常,后来按以下方式编译经过了并能正常使用了:调试
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/delve git fetch origin pull/665/head git checkout FETCH_HEAD CERT=dlv-cert make install
代码是在HEAD最新分支下,而后就进行一个dlv-cert签名,但这个签名不是我本身建立的。是以前我用 brew install go-delve/delve/delve经过这种方式,能自动添加一个代码签名。可是安装成功之后会有could not get thread count异常,我就把这个
brew uninstall delve删除了,可是签名留下来了,我直接用这system 签名dlv-cert把上面从gith上下载 的代码直接从新签名了一下,不知道本身手动建立一个签名有没有问题,我感受 应该能够。下次试试