當前位置:編程學習大全網 - 源碼下載 - 無法在Mac high Sierra上授權gdb證書。

無法在Mac high Sierra上授權gdb證書。

1.安裝gdb

作為壹個強大的c/c++調試工具,壹直是程的好伴侶,但是當我切換到Mac os時,我發現沒有默認安裝。幸運的是,還有壹個強大的自制工具:

brew安裝自制軟件/dupes/gdb

然後就是漫長的等待+編譯安裝時間。安裝完成後,您可以通過點擊gdb打印出版本信息,表明它已經正確安裝:

截屏2014-11-24 01 . 04 . 15

如果妳現在用gdb進行程序調試,妳會發現根本不行:

截屏2014-11-24 01 . 08 . 24

2.生成證書

這是因為Mac os的安全機制使得我們的gdb無法完全控制要調試的程序,所以要給gdb適當的權限。首先,我們應該在“鑰匙串訪問”中添加相應的鑰匙串:

create-cert-menu1

然後在下面的輸入框中輸入證書的名稱和類型:

create-cert-1

指定有效期:

創建-證書-2

壹路“繼續”。當妳知道出現為證書指定位置時,請註意:在此選擇“系統”(如果此處無法選擇系統,選擇登錄也可以,但需要在生成相應證書後手動導出證書,然後手動將gdb-cert導入系統):

創建證書-3

好了,“創建”之後,我們的證書就生成成功了,d。

創建證書-4

接下來,我們選擇“總是信任”我們剛剛生成的證書,這樣我們就不必在每次運行gdb時手動輸入管理員密碼:

證書-獲取信息證書-始終信任

3.簽署廣發銀行證書

完成上述步驟後,您可以退出“鑰匙串訪問”,但僅此還不夠。要簽署gdb,我們需要殺死壹個特殊的進程:

截屏2014-11-24 01 . 33 . 49

打開活動監視器,在“cpu”列的搜索框中輸入“taskgated ”,然後雙擊進程所在的行並單擊“退出”。妳會發現任務門控進程已經消失了(多麽無辜的進程:())。現在您可以簽署gdb:

code sign-s gdb-cert/usr/local/bin/gdb

其中'/usr/local/bin/gdb '是我電腦中gdb的位置(實際上是'/usr/local/cellular/gdb/7 . 8 . 1/bin/gdb ')的壹個軟鏈接),這個命令正常執行,沒有任何輸出。

註意:如果有壹天妳想取消廣發的證書簽名,可以用'碼簽-移除-簽名/usr/local/bin/GDB '來完成,前提是妳的gdb-cert簽名還在。

好了,現在可以用gdb調試了嗎?等壹下!

先再次殺死taskgated進程(沒錯,頑強的taskgated剛剛在後臺重啟,又要被我們殺死了: ()

在這壹點上,是完全的功德。嘗試使用gdb快速運行我們的程序:

  • 上一篇:如何查詢自己QQ註冊日期
  • 下一篇:絕對濕度計算公式
  • copyright 2024編程學習大全網