2016-02-19 110 views
2

我已經閱讀other answers這個問題,他們失敗了,我缺​​乏評論的聲望。其他的例子沒有足夠詳細的知道我是否誤解了其中一個「這樣做」的步驟,或者是否有其他問題。確切地說,我如何在El Capitan上安裝gdb?

我已經爲代碼簽名創建了一個自簽名證書,我已經簽署了gdb,我驗證了我在_developer組中,當然我重新啓動了。我正在使用MacPorts,因此「gdb」被稱爲「ggdb」。下面是展示如何找我的命令:

Certificate Details

KeyChainAccess overview

有沒有什麼:

% 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是自簽名的根證書,標記爲可信的所有用戶其他信息將有助於診斷此故障? 什麼究竟是適用於其他人(我更喜歡在任務代碼中使用授權代碼來放鬆特權,這是上面鏈接中的「備選2」)。

回答

1

除了代碼簽名,我也不得不做到以下幾點:

1)關閉SIP,當您使用的MacPorts安裝GDB修改taskgated調用包括-p標誌(如所示)

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

我昨天整天都在試圖追逐這個答案;問題是許多答案似乎已經被指向,好像他們對El Capitan仍然具有權威性,但他們不是(大概是對SIP)。

+0

無論它值什麼,我都可以通過將自己添加到procmod組(如鏈接中所述)將gdb工作,一旦進行了密碼設置。不需要註銷,我不必更改任務門控參數。 –

相關問題