先说问题:1、gdb不能使用,重新用homebrew install 了gdb

2、brew装的gdb可以用了,但是等start调试的时候报这些错误:
        dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
gdb Reason: image not found

或者:
Unable to find Mach task port for process-id 15634: (os/kern) failure (0x5).
During startup program terminated with signal ?, Unknown signal.

google研究,说没有code-sign的原因,然后一通stackoverflow乱搜,遂,卒。

总之是怎么整都不行,然后brew info gdb查看发现当初安装好gdb homebrew有这么几句提示:

==> Caveats

gdb requires special privileges to access Mach ports.

You will need to codesign the binary. For instructions, see:

https://sourceware.org/gdb/wiki/BuildingOnDarwin

On 10.12 (Sierra) or later with SIP, you need to run this:

echo "set startup-with-shell off" >> ~/.gdbinit

遂按照上面的提示最后一行 echo "set startup-with-shell off" >> ~/.gdbinit 
结果发现,也不行。

确定了是没有codesign引起的原因,又google,查到一遍文章apple专门关于codesign的:https://opensource.apple.com/source/lldb/lldb-69/docs/code-signing.txt
大概看了下意思,发现要手动Create a Certificate...,觉得好麻烦啊,肯定没这么麻烦,还不死心,继续google。。。结果你懂的

无奈,只能返回去看brew info gdb,发现上面这句链接:
https://sourceware.org/gdb/wiki/BuildingOnDarwin
发现还是需要手动Create a Certificate,罢了,这个写的排版和Troubleshooting都不错,耐着心看下去吧,
跟着尝试了一遍,证书也创好了,taskgated也kill掉了,结果还是不行。。。
再Troubleshooting,
发现没有“Ensure that the certificate is marked as Always Trust
把证书打开,显示简介,发现里面有调整的选项,换成Always Trust
重新kill了taskgated
新开一个terminal

gdb
start
弹出了一框:输入用户名和密码,老老实实照办,最终:

[New Thread 0x1403 of process 17715]

warning: unhandled dyld version (15)

Thread 2 hit Temporary breakpoint 1, main () at int.c:4

4     int a = 0;

(gdb)

真是不容易啊!

这件事说明:碰到问题不要动不动就google乱找一气,应该沉下心来仔细观察应有的报错和已知提示,从中找到解决问题的办法,往往是最有效的!

gdb不能使用mac的更多相关文章

  1. 这可能是我觉得最折腾的C++环境配置(编码+调试)--mac+eclipse

    本着造福大众的心态,万一可能有人喜欢这种环境开发呢对吧~~折腾了一天,又是谷歌又是百度,讲真遇到报错问题搜出的资料挺少的,看来用这类环境开发C++的人不多,毕竟谁没事干放着xcode,vscode不用 ...

  2. MacOS内核调试环境搭建

    http://ddeville.me/2015/08/using-the-vmware-fusion-gdb-stub-for-kernel-debugging-with-lldb http://dd ...

  3. 在 Eclipse 中使用 C++

    安装 安装Eclipse Eclipse下载页 能够选择Eclipse IDE for C/C++ Developers(内置CDT插件) 也能够选择安装其它版本号之后再安装CDT插件. 安装CDT插 ...

  4. ppapi,npapi

    PPAPI也就是Pepper Plugin API,是在原有网景NPAPI(Netscape Plugin API)基础上发展而来的.NPAPI是当今最流行的插件架构,几乎所有浏览器都支持,不过存在很 ...

  5. mac上eclipse用gdb调试(转)

    mac上eclipse用gdb调试 With its new OS release, Apple has discontinued the use of GDB in OS X. Since 2005 ...

  6. 如何在mac os中安装gdb及为gdb进行代码签名

    1. 安装gdb GDB作为一个强大的c/c++调试工具,一直是程序猿们的良好伴侣,但转到Mac os才发现竟然没有默认安装,所幸还有强大的homebrew工具: brew install homeb ...

  7. [转]Debugging the Mac OS X kernel with VMware and GDB

    Source: http://ho.ax/posts/2012/02/debugging-the-mac-os-x-kernel-with-vmware-and-gdb/ Source: http:/ ...

  8. mac下配置gdb调试golang

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

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

    Mac os系统gdb调试器的安装与使用 1.简介 Mac os下的Terminal 终端中默认情况下并没有安装gdb调试器,但是可以通过gcc编译器进行代码编译,如果出错了就需要通过gdb调试器进行 ...

  10. Mac OS 装gdb

    1 要求按照mac ports 2 命令:sudo port install gdb 3 安装位置在: /opt/local/bin/ggdb , 注意,ggdb是执行命令

随机推荐

  1. JavaScript 闭包 —— { }

    闭包是什么 闭包是一个[函数](一个作用域可以访问另一个函数的局部变量) 闭包的作用 延伸变量的作用域 function f() { let num = 21; return function () ...

  2. Dart 2.18 正式发布

    互操作性增强.平台特定的网络组件.优化类型推断,以及空安全语言里程碑的近期更新 文/ Michael Thomsen, Google Flutter & Dart 产品经理 Dart 2.18 ...

  3. 引擎之旅 Chapter.2 线程库

    预备知识可参考我整理的博客 Windows编程之线程:https://www.cnblogs.com/ZhuSenlin/p/16662075.html Windows编程之线程同步:https:// ...

  4. flink-cdc同步mysql数据到hive

    本文首发于我的个人博客网站 等待下一个秋-Flink 什么是CDC? CDC是(Change Data Capture 变更数据获取)的简称.核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的 ...

  5. Flink基础概念入门

    Flink 概述 什么是 Flink Apache Apache Flink 是一个开源的流处理框架,应用于分布式.高性能.高可用的数据流应用程序.可以处理有限数据流和无限数据,即能够处理有边界和无边 ...

  6. JS 模块化 - 03 AMD 规范与 Require JS

    1 AMD 规范介绍 AMD 规范,全称 Asynchronous Module Definition,异步模块定义,模块之间的依赖可以被异步加载. AMD 规范由 Common JS 规范演进而来, ...

  7. 9. Ceph 基础篇 - Crush Maps

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485302&idx=1&sn=00a3a204 ...

  8. Filebeat Processors对日志数据应用基本处理和数据增强功能

    下面是一个使用drop_fields处理器从Apache访问日志中删除一些字段的示例: filebeat.inputs: - type: log enabled: true fields: apach ...

  9. Linux恢复误删除的文件或者目录

    文章转载自:https://www.jianshu.com/p/662293f12a47 linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的. 那么问题来了: 对于li ...

  10. 使用k8s部署springcloud解决三大问题

    1.正式环境使用的话启动时需要指定使用正式的配置文件,这个要咋处理? 解决办法 文章地址:https://www.cnblogs.com/sanduzxcvbnm/p/13262411.html 分析 ...