在 macOS Sierra 10.12.5 上安装并使用 gdb

用 Homebrew 安装 gdb

$ brew install gdb

然而安装成功后还是无法使用 gdb,会有如下报错:

Unable to find Mach task port for process-id 18191: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

mac 的安全机制阻止了 gdb 对程序进行完全的控制,我们要用 钥匙串访问 (Keychain Access) 修改其权限。

创建证书

选择创建证书
如图填入同样的信息
设置有效期

其他的都保持默认设置,点继续,直到:

改为 System
创建好了

还要修改使其始终信任。

点击 Get info
点击 Trust 展开,点击 Always Trust

在命令行中输入

$ codesign -f -s  "gdb_cert" /usr/local/bin/gdb

最后重启电脑,gdb 就可以使用了,还可以 brew install cgdb,这里不用再安装证书什么的,可以使用 cgdb,效果对比:

左 gdb 右cgdb
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容