关于Golang中dlv无法工作的问题(无法在断点处停止的问题)

个人电脑的工作环境

M1 MAC Monterey
Golang 1.17, 1.19
vscode

过程

    1. 我将Golang版本从1.17升级到1.19.3,

 

    1. 通过vscode提升了go delve版本,

 

    调试是有效的,但是无法在断点处中断。

记录应对

    1. 将golang版本降至1.17

 

    1. → 从delve提示版本太低而出现错误

将golang版本作为brew和goenv下载
→ 无法在断点处停止

更改vscode的launch.json中substitutePath的设置
→ 无法在断点处停止

删除当前已下载的所有Golang,并使用asdf重新下载Golang并设置路径
→ 无法在断点处停止

解决

 

在Visual Studio Code中执行“运行和调试:专注于断点视图”,以便查看dlv内部的错误。

在上述操作中,出现了一个错误,提示找不到断点。使用普通的调试按钮则没有显示出错误。

确认GoFlag的选项

 

请确认在我的电脑上通过 go env 命令确认 GOFLAGS=”-trimpath” 的设置。
与拥有同一台 M1 MAC 的同事进行比较后,发现他的 Mac 上并没有 GOFLAGS 的设置,所以需要删除。

go env -w GOFLAGS=''

处理完成

广告
将在 10 秒后关闭
bannerAds