我用liteide進行go環境的配置,最近升級之後發現兩個調試器都不能debug代碼 了,主要緣由有兩個。一個是軟件簽名問題和mac系統的安裝問題。git
1.gdbgithub
經過api
brew install gdb
方式安裝好軟件,而後製做一個簽名。這個網上都有(http://blog.csdn.net/cairo123/article/details/52054280),可是安裝成功開始調度會報一個錯誤:安全
On macOS 10.12, it fails miserably with "During startup program terminated with signal ?, unknown signal."
這時候就須要把,mac 的SIP服務bash
經歷了XCode編譯器代碼被注入的事件後,此次 Mac OS X El Capitan系統的升級,啓用了更高的安全性保護機制:系統完整性保護System Integrity Protection (SIP)。簡單來說就是更增強制性的保護系統相關的文件夾。因此有好多三方軟件執行在權限方面就會出現問題,因此這個服務對開發者來講不是很方便了ide
今天這個 Mac 技巧就教你如何關閉 Mac SIP 安全設置,不過須要提醒,初級 Mac 用戶不要關閉安全設置。fetch
這樣 SIP 安全設置就已經被關閉了,若是想從新開啓該安全設置,重複上面步驟,在第三步中將命令更換爲 csrutil enable。重啓以後 就能夠調試代碼 了.net
2.delvedebug
而後下一個就是delve調試器了,主要問題是兩個。是一簽名。另外一個是安裝方式。之前我經過brew install delve的方式出現forx/exec 的交叉編譯異常和could not get thred count異常,後來按以下方式編譯經過了並能正常使用了:調試
mkdir -p $GOPATH/src/github.com/derekparker git clone https://github.com/derekparker/delve.git $GOPATH/src/github.com/derekparker cd $GOPATH/src/github.com/derekparker/delve git fetch origin pull/665/head git checkout FETCH_HEAD CERT=dlv-cert make install
代碼是在HEAD最新分支下,而後就進行一個dlv-cert簽名,但這個簽名不是我本身建立的。是以前我用 brew install go-delve/delve/delve經過這種方式,能自動添加一個代碼簽名。可是安裝成功之後會有could not get thread count異常,我就把這個
brew uninstall delve刪除了,可是簽名留下來了,我直接用這system 簽名dlv-cert把上面從gith上下載 的代碼直接從新簽名了一下,不知道本身手動建立一個簽名有沒有問題,我感受 應該能夠。下次試試