究竟如何在El Capitan上安装gdb?

时间:2016-02-19 19:17:25

标签: macos gdb code-signing

我已经对这个问题进行了审核other answers,他们对我失败了,我没有在那里发表评论的声誉。其他例子不够详细,不知道我是否误解了其中一个"做这个"步骤,或者是否存在其他问题。

我已经为代码签名创建了一个自签名证书,我签了gdb,我确认我在group _developer中,当然我重新启动了。我正在与MacPorts合作,以及#34; gdb"被称为" ggdb"。以下命令显示了它的外观:

% sudo codesign -s gdbc `which ggdb`
/opt/local/bin/ggdb: is already signed

% codesign --display --verbose=4 `which ggdb`
Executable=/opt/local/bin/ggdb
Identifier=org.gnu.gdb
Format=Mach-O thin (x86_64)
CodeDirectory v=20100 size=26280 flags=0x0(none) hashes=1309+2 location=embedded
Hash type=sha1 size=20
CDHash=212cd20d95e5b5fb0cb1172647a1e18140e9650d
Signature size=1555
Authority=gdbc
Signed Time=Feb 18, 2016, 6:27:09 PM
Info.plist entries=4
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=88

% security find-identity -p codesigning

Policy: Code Signing
  Matching identities
  1) 2C6A7F0B4BBB757B90754A2DECCEA44B0B77856B "dlv-cert"
  2) ADCAD517D5E13C6DB95EDD6F89173F80DE81D14F "gdbc"
     2 identities found

  Valid identities only
  1) 2C6A7F0B4BBB757B90754A2DECCEA44B0B77856B "dlv-cert"
  2) ADCAD517D5E13C6DB95EDD6F89173F80DE81D14F "gdbc"
     2 valid identities found

% groups # ... shows perhaps confidential stuff I hope is irrelevant
5000 ... everyone netaccounts admin _appserveradm _lpadmin com.apple.access_screensharing com.apple.access_ssh ... _appstore _lpoperator _developer com.apple.access_ftp com.apple.sharepoint.group.1

% dsmemberutil checkmembership -U $LOGNAME -G _developer
user is a member of the group

gdbc是一个自签名的根证书,标记为所有用户都信任:

Certificate Details

KeyChainAccess overview

是否还有其他有助于诊断此故障的信息? 什么完全适用于其他人(我更喜欢在任务门户中签署轻松的特权,这是"备选2"在上面的链接中)。

1 个答案:

答案 0 :(得分:1)

除了代码签名,我还必须执行以下操作:

1)关闭SIP并修改taskgated调用以包含-p标志(如使用macports安装gdb时所示)

2)将自己添加到procmod组。 (见:How to get gdb to work using macports under OSX 10.11 El Capitan?

我昨天花了一整天的时间试图追逐这个问题的答案;问题是许多答案似乎都被指向好像他们仍然是El Capitan的权威,但他们不是(可能是对SIP做的)。