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
目录
相关文章
|
Java 关系型数据库 MySQL
java 网上二手车销售系统用eclipse定制开发mysql数据库BS模式java编程jdbc
JSP 网上二手车销售系统是一套完善的web设计系统,对理解JSP java SERLVET mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。
250 0
|
NoSQL 编译器 C语言
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查、性能分析和符号调试。通过实践案例学习如何有效定位和解决问题,同时注意保持耐心、合理利用工具、记录过程并避免过度调试,以提高编程能力和开发效率。
559 1
|
Java 编译器 Android开发
Eclipse 编译项目
Eclipse 编译项目
222 1
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
457 4
|
Java 关系型数据库 数据库
JSP网上手机商城系统 用eclipse定制开发mysql数据库BS模式java编程jdbc
JSP 网上手机商城系统是一套完善的web设计系统,对理解JSP java SERLVET mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。
326 1
JSP网上手机商城系统 用eclipse定制开发mysql数据库BS模式java编程jdbc
|
数据库管理
Mac检出svn checkout报错 svn: E200030: SQLite 编译为 3.39.5,但是运行于 3.39.4
Mac检出svn checkout报错 svn: E200030: SQLite 编译为 3.39.5,但是运行于 3.39.4
855 0
|
Kubernetes NoSQL Java
ChaosBlade常见问题之在mac下编译报checksum mismatch的错误如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
338 0
|
Java 关系型数据库 BI
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
339 0
|
JavaScript 算法 前端开发
Mac下编译dinky-web(踩坑篇)
Mac下编译dinky-web(踩坑篇)
405 0
|
Java 关系型数据库 Apache
Apache Maven简介&安装及系统坏境配置&eclipse配置Apache Maven---详细介绍
Apache Maven简介&安装及系统坏境配置&eclipse配置Apache Maven---详细介绍
340 0

推荐镜像

更多