如何在MacOS 10.13.3(High Sierra)上安装并运行GDB?
Mac上GDB安装调试启动失败的解决指南
相信你跟我一样,搜遍了各种帖子博客折腾GDB,结果要么步骤缺斤少两要么根本不管用。我综合了各路信息,整理出一套通用安装流程,顺便说说走完流程还碰启动错误的坑怎么填:
通用安装&配置步骤
- 通过Homebrew安装指定版本的GDB:
直接执行命令brew install gdb@8.1,选8.1是因为新版本和Mac系统兼容性容易出问题,这个版本相对稳定。 - 给GDB做代码签名:
这是Mac上绕不开的权限关卡,不然调试时会被系统直接拦截:- 打开「钥匙串访问」,创建一个代码签名类型的证书
- 找到刚创建的证书,右键选「显示简介」,在「信任」栏把「代码签名」改成「始终信任」
- 终端执行签名命令:
codesign -fs "你的证书名称" /usr/local/bin/gdb(记得把证书名称换成你自己创建的)
- 配置
~/.gdbinit文件:
打开这个文件(没有就新建一个),添加两行关键配置:
这两行能避免大部分调试时的权限和启动异常问题。set startup-with-shell off set target-async on
解决启动错误的额外步骤
我当时走完上面的流程,调试hello world还是炸了,后来排查出是系统调试权限没开全:
- 打开「系统偏好设置」→「安全性与隐私」→「隐私」标签,找到「开发者工具」,把你用来调试的终端/IDE添加进去并勾选
- 如果还是不行,重启电脑让证书和配置完全生效(别嫌麻烦,Mac的权限缓存有时候挺顽固)
- 注意:不要用
sudo gdb启动调试,超级用户身份反而会触发更多权限限制,用普通用户身份启动就好
内容的提问来源于stack exchange,提问作者Zak




