Mac os系统gdb调试器的安装与使用

1.简介

Mac os下的Terminal 终端中默认情况下并没有安装gdb调试器,但是可以通过gcc编译器进行代码编译,如果出错了就需要通过gdb调试器进行代码调试,本文主要介绍了如何在苹果电脑的终端中安装GDB调试工具以及如何解决Mac下GDB的签名错误。

2.工具

  • Mac电脑
  • Homebrew

3.Mac安装gdb

3.1 检查安装Homebrew

3.2检查安装gdb

  • $ brew search gdb
  • $ brew install gdb (如果不成功,可尝试brew update)
  • $brew (--version) 

4.Mac配置gdb证书签名

在gdb下运行r(run)命令时,报错:

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

这是因为,使用gdb要创建证书签名

4.1创建证书

(1)打开钥匙工具keychain access

(2)配置过程:

(3)此后一直点击继续按钮直到下图时,更改为相应设置为System,最终便生成了如下所示的证书。

(4)按照下面步骤更改证书的权限为“Always trust"

4.2对证书签名

(1)打开终端terminal,执行一下命令:

$ codesign -s yc_GDB_cert /usr/local/bin/gdb

(2)打开任务管理器(活动监视器),在CPU选项卡中关闭进程taskgated

(3)以上过程无异常即可使用gdb调试工具

 

Mac os系统gdb调试器的安装与使用的更多相关文章

  1. 使用VMware Workstation Pro 12 虚拟机安装Mac OS系统教程 全程图解

    导读:使用虚拟机安装Windows.Linux或者Ubuntu系统大家或许看了很多,但如何使用VMware Workstation Pro 12安装Mac OS,的确需要好好研究一番:否则无法下手,因 ...

  2. 在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结

    在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结 一.资料来源:    网上一共找到两个方法,一个是视频上的教程,一个是网页资料. 二.视频资料方法内容:1.install qe ...

  3. VMWare15 安装 Mac OS 系统

    文章目录VMWare15 安装 Mac OS 系统安装环境工具准备准备工作MAC虚拟机设置启动MAC前准备工作安装系统安装VMware Tool注意事项参考链接安装环境WIN10VMware Work ...

  4. mac下配置gdb调试golang

    mac下配置gdb调试golang 原文链接 https://sourceware.org/gdb/wiki/BuildingOnDarwin Building GDB for Darwin Crea ...

  5. 苹果电脑Mac OS系统重装图文详解

    苹果电脑Mac OS系统重装图文详解 本文来自于[系统之家] www.xp85.com现在电脑都很强大,可是也很脆弱,常常需要你去维护,甚至经常需要你重装系统,那么Mac OS又如何重装系统呢?刚刚使 ...

  6. 首个攻击该Mac OS系统的恶意软件——KeRanger

    首个攻击该Mac OS系统的恶意软件——KeRanger 曾几何时,苹果操作系统一度被人认为是最安全的操作系统.然而近几年,针对苹果系统的攻击日益增多,影响范围也越来越大.无独有偶,近日,苹果Mac  ...

  7. Mac OS系统四种修改Hosts文件的方法列举

    转自:https://blog.csdn.net/u012460084/article/details/40186973 使用Mac OS X系统的用户,在某些时候可能遇到了需要修改系统Hosts文件 ...

  8. 苹果Mac OS系统修改Hosts文件的方法

    使用苹果Mac OS X系统的用户有很多,近期也有不少童鞋问我Mac怎么修改hosts,修改hosts的方式有很多,下面我就整理两种比较方便的方法吧,希望能够帮到大家. 在某些时候可能遇到了需要修改系 ...

  9. Linux gdb调试器用法全面解析

    GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序. 让被调试的程序在工程师指定的断 ...

随机推荐

  1. 小白的python之路10/30磁盘分区

    总结:fdisk   mkfs  mount 1.磁盘分区 硬盘分区有三种,主磁盘分区.扩展磁盘分区.逻辑分区. 一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个.且主分区+扩展分区总共 ...

  2. Go项目中beego的orm使用和gorm的使用

    按照beego官方文档练习ORM的使用,model创建完始终没找到办法创建表,于是使用gorm翻译文档和官方文档进行了练习,使用起来还是比较简单. 安装: 方法一:Terminal打开,go get ...

  3. 2072. Kirill the Gardener 3

    http://acm.timus.ru/problem.aspx?space=1&num=2072 回忆一下 #include <iostream> #include <st ...

  4. Django部署以及整合celery

    前言 Djngo部署的结构一般都是nginx+uwsgi+python web 一.新建一个Djang项目并合并celery 项目名随便打的..命名规范驼峰啥的别和我扯犊子哈 跑一下,然后我们就有一个 ...

  5. elasticsearch基本使用

    elasticsearch 是java对lucence的封装,所以需要事先安装java. 它适用于全文索引,便捷的分布式,主要原理就是倒排索引.一般搜索某个关键字,是通过在一篇篇文章中查找这个关键字, ...

  6. Map集合练习题

    (Map)已知某学校的教学课程内容安排如下: 完成下列要求:1) 使用一个Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排.2) 增加了一位新老师Allen 教JDBC3) Lu ...

  7. ES6常用方法总结

    1.声明变量用let,声明常量用const(定义唯一的值),都没有预解释,也不存在变量提升: 2.箭头函数:有如下两种写法 1).表达式(函数体只有一行代码) a).let fn = p => ...

  8. 初读"Thinking in Java"读书笔记之第九章 --- 接口

    抽象类和抽象方法 abstract void f();抽象方法是仅有声明而没有方法体的方法. 包含抽象方法的类叫做抽象类,如果一个类包含了一个抽象方法,则该类必须限定为抽象类. 抽象类和抽象方法可以使 ...

  9. ionic2中使用datetime组件如何默认设置当前时间?

    HTML: <ion-item> <span item-left style="min-height: 27px;">存款日期/时间</span> ...

  10. poj1947(树形背包)

    题目链接:http://poj.org/problem?id=1947 Rebuilding Roads Time Limit: 1000MS   Memory Limit: 30000K Total ...