将 delve 调试器与 go 模块一起使用
Using the delve debugger with go modules
看看这个目录结构:
/root
/bar
go.mod
go.sum
main.go
main_test.go
/foo
go.mod
go.sum
main.go
main_test.go
我想从命令行使用 delve 调试器调试 root/foo/main.go
。我试过使用 go build
构建二进制文件,然后使用 dlv debug <binary>
并出现如下错误:
can't load package: package foo is not in GOROOT (/usr/local/opt/go/libexec/src/foo)
exit status 1
有什么想法吗?
您的 root
中有两个不同的模块,foo
和 bar
。您不能使用 root
中的 go build
来构建它们,因为 go build
不支持嵌套或多个模块。您必须从 go.mod
所在的目录或其任何子目录中 运行 它。
由于 Delve 只是为您调用 go build
,因此 dlv debug
也是如此。先尝试cd
变成foo
,然后运行dlv debug
.
看看这个目录结构:
/root
/bar
go.mod
go.sum
main.go
main_test.go
/foo
go.mod
go.sum
main.go
main_test.go
我想从命令行使用 delve 调试器调试 root/foo/main.go
。我试过使用 go build
构建二进制文件,然后使用 dlv debug <binary>
并出现如下错误:
can't load package: package foo is not in GOROOT (/usr/local/opt/go/libexec/src/foo)
exit status 1
有什么想法吗?
您的 root
中有两个不同的模块,foo
和 bar
。您不能使用 root
中的 go build
来构建它们,因为 go build
不支持嵌套或多个模块。您必须从 go.mod
所在的目录或其任何子目录中 运行 它。
由于 Delve 只是为您调用 go build
,因此 dlv debug
也是如此。先尝试cd
变成foo
,然后运行dlv debug
.