我遇到了同样的问题,除了以root?/ sudo身份运行外,它无法运行,这意味着我无法在eclipse中使用它,这意味着我花了5个工作小时来调试问题。这是我的结果。
首先,在我的用户帐户下执行时,gdb生成了类似的错误消息。
Unable to find Mach task port for process-id 4667: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
我尝试通过使用钥匙串创建证书来对它进行代码签名,然后将该证书标记为可信任的代码签名。然后从命令行将其应用于可执行文件。
codesign -s gdb-cert /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign --verify --verbose /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign -d --verbose /usr/local/Cellar/gdb/7.6.1/bin/gdb
那没用
我尝试将我的用户帐户添加到procview,procmod和_developer组中(可能不安全,但是我仅将代码部署到github,并且不使用该机器供个人使用,因此我可以忍受)
sudo dscl . append /Groups/procmod GroupMembership bryanhunt
sudo dscl . append /Groups/procview GroupMembership bryanhunt
sudo dscl . append /Groups/_developer GroupMembership bryanhunt
那没用
最后,我尝试更改可执行文件的组和组粘性位。
sudo chgrp procmod /usr/local/Cellar/gdb/7.6.1/bin/gdb
sudo chmod g+s /usr/local/Cellar/gdb/7.6.1/bin/gdb
那工作