mac OS X 10.9.2 gdb codesign

来源:互联网 发布:linux 设置启动内核 编辑:程序博客网 时间:2024/05/17 23:47

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

Starting program: /x/y/fooUnable 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


0 0
原创粉丝点击