這個問題已經知道,gdb不再適用於OS X Sierra。gdb os x sierra 10.12.3不能正常工作
這真的很煩人,因爲我已經研究瞭解決方案,並且有一些解決方案,但他們顯然不再工作了。我試圖使用.gdbinit文件解決方案和禁用csrutil解決方案,兩者都不起作用。
Sooo我的問題是:有誰知道如何解決它在10.12.3?
非常感謝!
這個問題已經知道,gdb不再適用於OS X Sierra。gdb os x sierra 10.12.3不能正常工作
這真的很煩人,因爲我已經研究瞭解決方案,並且有一些解決方案,但他們顯然不再工作了。我試圖使用.gdbinit文件解決方案和禁用csrutil解決方案,兩者都不起作用。
Sooo我的問題是:有誰知道如何解決它在10.12.3?
非常感謝!
所以感謝巴西萊Starynkevitch,誰只是給了我的想法,更新GDB
SOLUTION:
您只需更新 GDB最新的版本(這是目前7.12.1 )。假設你已經安裝家釀:
這就是我所做的:
brew update
brew remove gdb
brew install gdb
現在已經更新到最新版本。
現在再次使用您以前使用過的證書對gdb進行密碼校驗。
sudo killall taskgated
codesign -fs gdb-certi /usr/local/bin/gdb
launchctl load /System/Library/LaunchDaemons/com.apple.taskgated.plist
最後一步是仍然使用變通方法來創建.gdbinit中:
nano ~/.gdbinit
- >set startup-with-shell off
調試現在對我的作品:)(OS X塞拉利昂10.12。 3 - gdb 7.12.1)。
UPDATE:
顯然,這將解決某些問題,但不是全部問題的本身。它仍然會導致錯誤。老實說,我的解決方案:當你可以:切換到LLDB和另一個IDE (Netbeans不支持LLDB)。或者使用Linux。我目前在我的MacBook Pro上使用Ubuntu。
不適合我。仍然破碎 –
我發現gdb 7.12.1也不適用於我。我認爲它不包括2016年11月9日提交給gdb的重要提交82b19a4d2f9c9e8d56f。 但是,我能夠讓gdb 8.0開發分支工作。
通過例如下載
git clone --depth 1 --branch gdb-8.0-branch git://sourceware.org/git/binutils-gdb.git
然後進入驗證目錄
cd binutils-gdb
我的MacPorts所以(一)要鏈接到MacPorts的庫和(b)要避免把東西在/ usr /本地所以配置爲
./configure prefix=$HOME LDFLAGS="-L/opt/local/lib" CPPFLAGS="-I/opt/local/include"
make -j8
make install
=>將gdb可執行文件放入〜/ bin; (靜態)庫到〜/ lib;文檔到〜/份額
然後按照上述André的前端做代碼簽名;雖然它現在將是 codesign -fs gdb-certi〜/ bin/gdb
貌似還有沒有一個解決方案。我不認爲「使用LLDB代替GDB」是最終的解決方案。所以我繼續構建了一個非常基本的Docker容器,它包含了非常基礎的東西(g ++和gdb)。
這裏是Docker Hub container,而在Dockerfile是這個Github repo。
該解決方案至少可以讓您通過幾個簡單的命令使用GDB你的Mac上。並且,由於您正在編碼的文件夾已安裝,只要您點擊保存,所有更改都會自動顯示。
希望這可以幫助別人。
你有沒有嘗試編譯最新[GDB](https://www.gnu.org/software/gdb/)7.12.1從源代碼? –
又見http://sourceware-org.1504.n7.nabble.com/gdb-on-macOS-10-12-quot-Sierra-quot-td415708.html –
非常感謝你,你給我的想法簡單更新gdb大聲笑。這有幫助,然後我想出了自己! :)我會在未來的文章中爲男士寫一個答案。 –