以下是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并设置路径
→ 不会在断点处停止
解决
运行并调试:运行并调试:专注于断点视图,以查看dlv内部错误。
在上述的处理中,出现了一个错误提示说找不到断点。
使用普通的Debug按钮时没有出现错误提示。
确认GoFlag的选项
在我的电脑上使用go env命令确认GOFLAGS已设置为”-trimpath”。与使用相同的M1 MAC的同事进行比较后发现,该Mac上没有设置GOFLAGS,因此要删除该设置。
go env -w GOFLAGS=''