MacOS 安装 gdb 踩过的坑

今天在 OS X EI Capitan 10.11.6 中安装 gdb 的时候,出了一堆状况,写下此文以便以后能够时刻提醒自己。

解决方案

1、安装 gdb

$ brew install gdb
$ gdb --version
GNU gdb (GDB) 8.2.1

2、我们尝试运行 gdb 时,报如下错误:

Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))

3、创建证书
执行菜单 钥匙串访问->证书助理->创建证书
填写信息

  • 证书名称:gdb-cert
  • 身份类型:自签名根证书
  • 证书类型:代码签名
  • 勾选:让我覆盖这些默认值

然后一直点击继续,直到指定证书位置的步骤,选择钥匙串保存的位置是系统
点击创建,输入系统密码,创建完成。(极有可能创建失败,这时可以选择钥匙串保存位置为登录,然后导出证书,再然后把证书导入到系统)
打开证书简介界面,点击信任->代码签名,将其改为始终信任

  1. 重启系统刷新系统证书和代码签名数据

  2. 给 gdb 签名

    $ sudo killall taskgated
    $ codesign -fs gdb-cert "$(which gdb)"    # -f 表示签名若已存在就覆盖
  3. 添加 ~/.gdbinit 文件

    $ echo "set startup-with-shell off" >> ~/.gdbinit
  4. 最后会出现如下错误

    $ sudo gdb test.out
    (gdb) r
    Starting program: /Users/apple/Desktop/code/test.out
    [New Thread 0x1103 of process 843]
    [New Thread 0xe03 of process 843]
    
    During startup program terminated with signal SIGTRAP, Trace/breakpoint trap.

4、这个时候我们只需要更换 gdb v8.1 到 gdb v8.0.1,用如下代码替换:

$ brew uninstall gdb
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/c3128a5c335bd2fa75ffba9d721e9910134e4644/Formula/gdb.rb

测试成功如下:

gdb

参考文献

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/10744103.html

展开阅读全文

150讲轻松搞定Python网络爬虫

05-16
【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。   从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑
©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值