关于Golang中dlv无法工作的问题(无法在断点处停止的问题)
个人电脑的工作环境
M1 MAC Monterey
Golang 1.17, 1.19
vscode
过程
-
- 我将Golang版本从1.17升级到1.19.3,
-
- 通过vscode提升了go delve版本,
- 调试是有效的,但是无法在断点处中断。
记录应对
-
- 将golang版本降至1.17
-
- → 从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=''