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

image

原因

主要是因为 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应该会正常工作了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 关于开发证书配置(Certificates & Identifiers & Provisioning Pro...
    奋斗的蜗牛阅读 12,169评论 2 20
  • 引言关于开发证书配置(Certificates & Identifiers & Provisioning Prof...
    molake阅读 48,688评论 7 62
  • 珀离刚刚睡醒,揉揉那仅剩的一只眼,拱了拱身子,翻个面儿,趴到云朵上。 他突然想起厚厚云海下的冰层,立刻伸出手去拨开...
    吴也白阅读 4,233评论 30 20
  • 去年急雨去年风, 落尽木棉落梧桐。 此情此景梦中见, 依旧白白与红红。
    苜风阅读 1,118评论 0 2
  • 今天一早就收到来自爸爸的微信,转发了一条消息,上面说“一位9岁的小朋友不看电视,不玩电子产品,却成了近视,罪...
    可爱天阅读 4,657评论 0 3