解決osx下gdb不能調試的問題

來源:互聯網
上載者:User

在較新的os x中使用gdb偵錯工具會發生 Unable to find Mach task port 之類的錯誤,這是由於新的os x核心禁止未授權的程式隨意控制其他進程,如果不用root許可權的話,我們還可以使用程式簽名的方式來解決這個問題。(誰又想老是以root許可權調試普通程式呢?)

依次進入 應用程式->工具 + 生產力,開啟鑰匙串訪問:


選擇菜單 鑰匙串訪問->認證助理->建立認證,第一個步驟如下設定:<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140605/2014060508554323.jpg" alt="\">

然後一直next,最後一個設定如下設定:


最後回到鑰匙串訪問程式主介面,滑鼠右鍵選中剛才建立的認證,選擇顯示簡介,然後展開 信任 項,在程式碼簽署處勾選 總是信任。


在控制台進入gdb程式目錄,輸入:codesign -s gdb-cert gdb ,好了打完收工,注意要重啟mac後,簽章設定才會生效哦。

在windows下侵淫多年的童鞋都喜歡使用帶有GUI的debugger來調試,在unix like系統中也有圖形調試器,比如著名的codelite和codeblocks都內建調試器。不過作為大名鼎鼎的gdb最貼合前端的圖形調試器DDD也是非同小可,它和gdb結合甚密,功能也十分強大,推薦大家使用。


最後要注意一點,如果大家在os x下使用sudo ddd偵錯工具後,會發現ddd會長時間處於“發獃” 狀,無法偵錯工具,狀態列總顯示 :Waiting until gdb ready 之類的資訊,這時不要慌張,直接 rm -rf ~/.ddd檔案夾即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.