Mac OS X 下安装 GDB
用 LiteIDE 可以方便调试 Go 程序,它是用的 GDB 调试的,如果没有安装 GDB 的话,运行“调试”就会提示:
1 |
|
下边就说说怎么在 OS X 平台在安装 GDB。
Homebrew
用 Mac 的想必都知道这个了, 如果你还没有安装,去http://brew.sh/ 看看吧,或者直接用下边的命令安装
1 |
|
GDB
有了 brew 就方便了,直接执行下边的命令安装 gdb
1 |
|
如果上边的命令不行的试试下边的这个:
1 |
|
之后运行gdb --version
看看是否安装成功
证书 & 授权
有了 brew 后,安装 so easy。不过先别高兴的太早,在 LiteIDE 中随便找一个程序“调试”一下,会发现“控制台”中报错:
1 |
|
这是由于 OS X 的安全机制阻止了我们的 GDB 对要调试的程序进行完全控制,所以我们要对 GDB 赋予合适的权限。
首先创建一个系统代码签名信任证书:
启动“钥匙串访问”应用(/Applications/Utilities/Keychain Access.app)
打开菜单:钥匙串访问 -> 证书助理 -> 创建证书
输入证书名称,如:gdb-cert;
选择身份类型:自签名根证书 (Identity Type to Self Signed Root)
选择证书类型:代码签名 (Certificate Type to Code Signing)
勾选:让我覆盖这些默认签名 (select the Let me override defaults)一路 next,直到选择存放证书地址,选择:系统。这样证书就创建好了
设置证书自定义信任
右键刚才创建的 gdb-cert 证书,选择“显示简介” (Get Info)
点击“信任”,会显示可以自定义的信任选项,“代码签名”选择“总是信任” (Code Signing to Always Trust)
其次,将证书授予 gdb,执行命令
1 |
|
如果你创建的证书名不是gdb-cert
的话注意自行替换
这样授权后,在 LiteIDE 中运行“调试”的话还是会提示错误please check gdb is codesigned
,只要重启一下就好了。
之后我们便可以用 gdb 调试 go 了,但是每次使用的时候都会提示输入管理员密码。这是由于之前制作的证书是在系统下面的,所以每次执行 gdb 都会提示管理员密码。
解决方法也很简单,打开钥匙串访问,将“系统”下面的 gdb-cert 拷贝一份放到“登录”下面就行了。