原因
主要是因为 gdb8.1 的问题和苹果系统的SIP机制,更换版本为8.0.1就可以解决问题
步骤
更换gdb
brew unlink gdb
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/9ec9fb27a33698fc7636afce5c1c16787e9ce3f3/Formula/gdb.rb
brew pin gdb
证书签名
打开应用程序Keychain
Keychain Access > Certificate Assistant > Create Certificate...
Name:gdb-cert
Certificate Type: Code Signing
一路点击 continue 直到选择证书存储位置处
Keychain:System
在左侧的system中找到新创建的gdb-cert,右键点击选择Get Info
Trust > choose 'Always Trust'
打开命令行
killall taskgated
codesign -fs gdb-cert /usr/local/Cellar/gdb/8.0.1/bin/gdb #如果你是homebrew下载的,可以用这个路径
关闭系统SIP机制
重启计算机,按住 command+R 直到logo出现进入recovery mode
打开终端
csrutil enable --without debug
重启计算机,gdb应该会正常工作了。