mac OS X 10.9.2 gdb codesign

15 篇文章 1 订阅

文章转自:http://blog.csdn.net/sinkary/article/details/24107993
版权归原作者。

准备在mac下用gdb调试,出现:

[plain] view plain copy
Starting program: /x/y/foo  
Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5).  
 (please check gdb is codesigned - see taskgated(8))  

原因是出于对进程安全的考虑,gdb不能随意访问其它进程,需要给它代码签名,只要将gdb加入一个代码签名证书即可。

首先要创建代码签名证书。

打开应用:Launchpad -> 其他 -> 钥匙串访问

点击 “钥匙串访问”->“证书助理”->“创建证书”

名称填 gdb-cert,证书类型选代码签名,身份类型用默认的自签名根证书,勾选“让我覆盖这些默认值”,一路继续,直到遇到“指定用于该证书的位置”,选择系统,完成。

然后,在“系统”钥匙串中找到新建的gdb-cert,双击打开属性,在信任中选择“总是信任”。

重启电脑。

然后给gdb签名:

$ which gdb 
$ codesign -s gdb-cert /usr/local/bin/gdb

就可以了。

参考:

https://sourceware.org/gdb/wiki/BuildingOnDarwin
http://gcc.gnu.org/onlinedocs/gnat_ugn_unw/Codesigning-the-Debugger.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值