如何使用 gdb 或 delve 将断点设置到 go 方法

How to put breakpoint to a go method with gdb or delve

我想调试一个go代码。我想在导入包中的方法(属于命名类型)上放置​​断点。我浏览了很多在线资料,他们只在文件的行号上放置断点(例如:breakpoint a.go:15)。

我在 'C' 中做了很多调试,我在函数上设置了断点。 go 中可以进行这种调试吗?

我的主包中有以下代码。

clientContext := sdk.Context(fabsdk.WithUser("Admin"), fabsdk.WithOrg("ordererorg")).

我要下断点

1) 属于文件 github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/context.go.
中包 fabsdk 的函数 WithUser() 2) 方法 Context() 属于包 fabsdk.

文件 github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/fabsdk.go 中的类型 FabricSDK

是否可以将断点设置到方法 WithUser()context() 或 Isbreakpoints only allowed at a line number in a file?我也可以使用 gdb 或 delve 或任何其他调试器。

如果您有用于构建 Go 二进制文件的 github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/context.go 版本——例如,在您的 srcvendor 目录中——然后只需打开该文件,找到WithUser 函数,并在其第一行放置一个断点。