简 述: 在 mac 使用 gdb 调试程序时候,会遇到报错如下,本文就是专门解决这个问题的。
(gdb) run
Starting program: /Users/muli/project/github/linuxExample/06_gdb/mainApp
Note: this version of macOS has System Integrity Protection.
Because `startup-with-shell' is enabled, gdb has worked around this by
caching a copy of your shell. The shell used by "run" is now:
/Users/muli/Library/Caches/gdb/bin/zsh
Unable to find Mach task port for process-id 20050: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
在 MacOS 10.14.6 的系统下,发现安装 gdb 8.3 (当前最新) 的坑不是一般的多,那真真的多。鉴于网上的教程都是过时的,且按照某一篇, 你是不可能顺利运行安装成功的。所以浪费我昨天一个晚上解决这个问题(我的时间也很宝贵的),今天又花费一晚上时间,完成这篇图文并茂的的安装教程。作为一个日后的记录和给后来者一个方便。
也是目前网上最新最详细的在 mac 安装 gdb 的教程 ;其中大概思路:
- 创建整证书,证书授权
- 关闭 SIP 安全防护,重启系统;
- sudo 运行 gdb 调试;
- kill 卡死进程, 再次重新 gdb 调试;
- 成功