Goland debug失效詳細解決步驟(合集)
Bug:Goland debug失效詳細解決步驟【合集】
今天用Goland開發(fā)時,打斷點,以debug方式運行,發(fā)現(xiàn)程序并沒有斷住,程序跳過了斷點,直接運行結束。網上搜尋了大量文章,最后得以解決,特此在這里總結幾種Goland debug失效常見情況。
情況一:Go或Goland架構不對
比如:我本地是Mac apple芯片,我應該下載對應arm64架構的go或者Goland
查看本地Goland是否與本地系統(tǒng)匹配

查看本地Go架構是否與本地系統(tǒng)匹配
go version

解決辦法: 下載正確版本的go或goland
go下載地址:https://go.dev/dl/
goland下載地址:https://www.jetbrains.com/go/download/
情況二:dlv版本過低
dlv(全稱delve):用于調試golang的工具
Goland軟件內置了一個dlv,如果該dlv版本與你本地使用go版本不兼容,會導致斷點失效。同時控制臺告警:WARNING: undefined behavior - version of Delve is too old for Go version go1.23.0 (maximum supported version 1.21)

解決辦法: 升級dlv版本
# 升級delve brew install delve # 進入delve安裝目錄 cd /opt/homebrew/Cellar/delve # 最新的是delve 1.24.0,所以再進入1.24.0目錄 cd 1.24.0/bin # 將bin目錄下的可執(zhí)行文件拷貝到goland原有的dlv目錄下 cp dlv /Applications/GoLand.app/Contents/plugins/go-plugin/lib/dlv/macarm
升級完之后,重啟goland,問題即可解決
情況三:本地Go arch設置錯誤
比如,我是Mac apple芯片,本地是arm64架構,但我go env的GOARCH設置的如果是amd64,就會報如下錯誤:protocol error E09 during set breakpoint for packet

解決辦法: 修改GOARCH為正確配置
// 通過下面命令改回arm64 go env -w GOOS=darwin GOARCH=arm64
成功解決:

到此這篇關于Goland debug失效詳細解決步驟(合集)的文章就介紹到這了,更多相關Goland debug失效內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
golang?防緩存擊穿singleflight的實現(xiàn)
本文主要介紹了golang?防緩存擊穿singleflight的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
golang如何實現(xiàn)mapreduce單進程版本詳解
這篇文章主要給大家介紹了關于golang如何實現(xiàn)mapreduce單進程版本的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-01-01
Go語言crypto包創(chuàng)建自己的密碼加密工具實現(xiàn)示例
Go語言借助它的簡單性和強大的標準庫,實現(xiàn)一個自己的密碼加密工具,本文將會結合代碼示例深入探討如何使用Go語言的crypto包來實現(xiàn)自己的加密工具2023-11-11
Golang簡單實現(xiàn)http的server端和client端
Http 服務是基于 Tcp 的應用層的實現(xiàn),也是最常見的網絡協(xié)議之一。本文主要介紹了Golang簡單實現(xiàn)http的server端和client端,感興趣的可以了解一下2021-06-06

