您的位置:首页 > 编程语言 > Go语言

mac pro下安装gdb和delve调试器

2016-12-09 12:02 323 查看
我用liteide进行go环境的配置,最近升级以后发现两个调试器都不能debug代码 了,主要原因有两个。一个是软件签名问题和mac系统的安装问题。

1.gdb

通过

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服务

经历了XCode编译器代码被注入的事件后,这次 Mac OS X El Capitan系统的升级,启用了更高的安全性保护机制:系统完整性保护System Integrity Protection (SIP)。简单来讲就是更加强制性的保护系统相关的文件夹。所以有好多三方软件执行在权限方面就会出现问题,所以这个服务对开发者来说不是很方便了

今天这个 Mac 技巧就教你如何关闭 Mac SIP 安全设置,不过需要提醒,初级 Mac 用户不要关闭安全设置。

重启 Mac,按住 Command+R 键直到 Apple logo 出现,进入 Recovery Mode



点击 Utilities > Terminal

在 Terminal 中输入 csrutil disable,之后回车

重启 Mac

这样 SIP 安全设置就已经被关闭了,如果想重新开启该安全设置,重复上面步骤,在第三步中将命令更换为 csrutil enable。重启之后 就可以调试代码 了

2.delve

然后下一个就是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上下载 的代码直接重新签名了一下,不知道自己手动创建一个签名有没有问题,我感觉 应该可以。下次试试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Go