MAC OSX系统Eclipse使用gdb编译程序时的报错处理

简介: MAC OSX系统Eclipse使用gdb编译程序时,由于权限问题的报错处理方法
一 ,报错类型


1,写好测试程序时,使用Eclipse进行编译测试,无法通过,卡在了含有以下报错信息的窗口
Error in final launch sequence
Failed to execute MI command:
-exec-run
Error message from debugger back end:

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


2,改在命令行下使用普通用户账号进行编译测试时,报出如下错误,切换到root根用户时,编译正常通过。
(gdb) run
Starting program: /Users/eastyang/hello
Unable to find Mach task port for process-id 525: (os/kern) failure (0x5).

(please check gdb is codesigned - see taskgated(8))
(gdb) 


二,报错分析


系统出于安全的考虑,在没有授权的情况下不允许gdb调试任何程序,因为gdb调试可以掌握了进程的控制权。
如果改为root用户就没有这个问题。


三,解决方法

解决方法就是给gdb授予系统完全信任的代码签名权利,创建方法如下:


1,启动“钥匙串访问”应用(/Applications/Utilities/Keychain Access.app)


2,创建证书:打开菜单:钥匙串访问-》证书助理-》创建证书


3,按图中输入和修改以下信息,
输入证书名称,名称可以自己起,该处为 linuxcc-gdb-cert;
选择证书类型:代码签名;
勾选:让我覆盖这些默认签名
 


4,一路继续,出现以下窗口时,选择 系统。
 


5,点击创建,输入系统管理员密码 ,这样证书就创建完成了,然后需要修改证书属性,
找到刚才新建的证书,右键证书选择【显示简价】,打开证书属性窗口,点击【信任】,
在 【使用此证书时】的下拉列表中 选择【始终信任】,然后在弹出的输入管理员密码窗口中,
输入正确的密码,修改完成
 


 


6,把创建和修改好的(代码签名证书)按如下命令赋给 gdb调试程序,然后重启电脑生效。
eastyang$ which gdb
/usr/local/bin/gdb
eastyang$ codesign -s linuxcc-gdb-cert /usr/local/bin/gdb

本文来自 www.linuxcc.org 论坛,转载请注明出处
相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
2月前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
81 13
|
4月前
|
JavaScript 前端开发 物联网
「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置篇1 - 认识鸿蒙系统与开发工具
本篇将介绍鸿蒙操作系统(HarmonyOS)的基本概念以及在 Mac 环境下进行鸿蒙开发所需的工具。通过了解鸿蒙系统和开发工具的特点,为后续的学习和实践奠定基础。
265 1
「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置篇1 - 认识鸿蒙系统与开发工具
|
4月前
|
NoSQL 编译器 C语言
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查、性能分析和符号调试。通过实践案例学习如何有效定位和解决问题,同时注意保持耐心、合理利用工具、记录过程并避免过度调试,以提高编程能力和开发效率。
78 1
|
5月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1881 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
6月前
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
283 2
|
Web App开发 Java Android开发
Mac OS X 下 Eclipse 安装 SVN 插件 subclipse 及JavaHL 方法
工作环境换了 Mac ,Java Web 项目开发当然用 Eclipse,团队 10 人以内,没有远程办公需求,前期也不需要快速的迭代,所以版本控制选用SVN。Eclipse 的安装,SVN 插件 subclipse 的安装都很简单,但 Mac 下想使用 SVN 的 Native library 是需要安装 JavaHL 的。
1797 0
|
关系型数据库 Java Android开发
Mac OS X 10.10 运行 Eclipse 提示需要安装 Java
于 OS X 的 Java 2014-001 Download “适用于 OS X 的 Java 2014-001”改进了安装过程,并会取代之前所有版本的“适用于 OS X 的 Java”。
1069 0
|
Java Android开发
mac eclipse for mac 安装
mac eclipse for mac 安装       1.1   1.2    1.3  补充说明 : 这里本省mac已经有了jdk  所以我们能 安装成功若是卸载了jdk 或者是之前有6 换成7失败的,则打不开。
890 0
|
10月前
|
Java Maven Android开发
在Eclipse里配置Maven插件
Maven是一款比较常用的Java开发拓展包,它相当于一个全自动jar包管理器,会导入用户开发时需要使用的相应jar包。使用Maven开发Java程序,可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在Eclipse里安装和配置Maven插件。
227 0
|
10月前
|
XML Java Maven
eclipse 、idea 安装activiti插件
eclipse 、idea 安装activiti插件
232 0