macOS High Sierra下无法使用gdb的解决办法

macOS High Sierra下无法使用gdb的解决办法
文章图片


原因 主要是因为 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
【macOS High Sierra下无法使用gdb的解决办法】打开终端
csrutil enable --without debug

重启计算机,gdb应该会正常工作了。

    推荐阅读