1

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

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

我的主包中有以下代码。

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

我想设置断点

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

是否可以将断点设置为方法WithUser()context()/或仅允许在文件中的行号处设置断点?我也可以使用 gdb 或 delve 或任何其他调试器。

4

1 回答 1

1

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

于 2019-03-24T10:03:03.137 回答