日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mac安装gdb及为gdb进行代码签名

發(fā)布時間:2023/11/30 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mac安装gdb及为gdb进行代码签名 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 安裝gdb

GDB作為一個強大的c/c++調(diào)試工具,一直是程序猿們的良好伴侶,但轉到Mac os才發(fā)現(xiàn)竟然沒有默認安裝,所幸還有強大的homebrew工具:

brew install homebrew/dupes/gdb

然后就是漫長的等待+編譯安裝時間了,安裝完成后敲擊gdb能打印出版本信息,說明已經(jīng)正確安裝了:

如果現(xiàn)在就使用gdb進行程序調(diào)試的話會發(fā)現(xiàn),根本行不通:

?

2. 生成證書

這是由于Mac os的安全機制阻止了我們的gdb對要調(diào)試的程序進行完全控制,對此我們要對gdb賦予合適的權限,首先我們要在keychain access里面添加相應的keychain (鑰匙串):

然后在下面的輸入框中輸入證書的名字及類型等:

指定有效期:

一路"continue",知道出現(xiàn)為我們的證書選擇位置(Specify a Location for the Certificate)的時候注意:這里選"system"(如果這里無法選擇system,選login也是可以的,只不過再生成相應證書后需要手動導出證書,然后再手工把gdb-cert導入到System中去):

好了,“create”之后我們的證書就生成成功啦d

接下來,我們選擇"always trust"我們剛生成的證書,這樣就不用每次在運行gdb的時候手工輸入管理員密碼了:

?

?3. 對gdb進行證書簽名

完成上述步驟以后就可以退出keychain access了,但僅僅這樣還是不夠的,要對gdb進行簽名,我們還需要殺死一個特殊的進程:

?

打開activity monitor, 在cpu一欄的搜索框中輸入‘taskgated’,然后雙擊進程所在行,點選‘quit’,這是你會發(fā)現(xiàn)taskgated進程消失了(好無辜的一個進程:( )。現(xiàn)在就可以對gdb進行簽名了:

codesign -s gdb-cert /usr/local/bin/gdb

其中‘/usr/local/bin/gdb’是gdb在我的電腦中所在的位置(其實它是'/usr/local/Cellar/gdb/7.8.1/bin/gdb'的一個軟鏈接),此命令正常執(zhí)行無任何輸出。

注:如果某天想要取消對gdb的證書簽名,可以使用‘codesign --remove-signature /usr/local/bin/gdb’來完成,前提是你的gdb-cert簽名還在哦。

好了現(xiàn)在可以使用gdb進行調(diào)試了么,且慢!

把taskgated進程再殺死一次先(是的,頑強的taskgated在后臺剛剛重新啟動又要被我們給殺死了:( )

至此,才算是功德圓滿,趕緊用gdb試著運行下我們的程序吧:

4. 參考鏈接:

https://sourceware.org/gdb/wiki/BuildingOnDarwin

http://ntraft.com/installing-gdb-on-os-x-mavericks/

轉載于:https://www.cnblogs.com/zhenxi/p/4932874.html

總結

以上是生活随笔為你收集整理的mac安装gdb及为gdb进行代码签名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。