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

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

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

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

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

到此這篇關(guān)于Goland debug失效詳細(xì)解決步驟(合集)的文章就介紹到這了,更多相關(guān)Goland debug失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang中的new()和make()函數(shù)本質(zhì)區(qū)別
在 Go 語(yǔ)言開發(fā)中,new() 和 make() 是兩個(gè)容易讓開發(fā)者感到困惑的內(nèi)建函數(shù),盡管它們都用于內(nèi)存分配,但其設(shè)計(jì)目的、適用場(chǎng)景和底層實(shí)現(xiàn)存在本質(zhì)差異,本文將通過類型系統(tǒng)、內(nèi)存模型和編譯器實(shí)現(xiàn)三個(gè)維度,深入解析這兩個(gè)函數(shù)的本質(zhì)區(qū)別,感興趣的朋友一起看看吧2025-02-02
一文詳解Golang?定時(shí)任務(wù)庫(kù)?gron?設(shè)計(jì)和原理
這篇文章主要介紹了一文詳解Golang?定時(shí)任務(wù)庫(kù)?gron?設(shè)計(jì)和原理,gron是一個(gè)比較小巧、靈活的定時(shí)任務(wù)庫(kù),可以執(zhí)行定時(shí)的、周期性的任務(wù)。gron提供簡(jiǎn)潔的、并發(fā)安全的接口2022-08-08
Go與Rust高性能解析JSON實(shí)現(xiàn)方法示例
這篇文章主要為大家介紹了Go與Rust高性能的解析JSON實(shí)現(xiàn)方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
golang動(dòng)態(tài)庫(kù)(so)生成與使用方法教程
這篇文章主要給大家介紹了關(guān)于golang動(dòng)態(tài)庫(kù)(so)生成與使用的相關(guān)資料,我們平時(shí)使用的動(dòng)態(tài)庫(kù)都是由c/c++開發(fā)最后生成的.so文件,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07

