简体   繁体   English

如何使用 gdb 或 delve 将断点置于 go 方法上

[英]How to put breakpoint to a go method with gdb or delve

I want to debug a go code.我想调试一个 go 代码。 I want to put breakpoint on a method (belonging to a named type) in a imported package.我想在导入的包中的方法(属于命名类型)上放置​​断点。 I went through a lot of online materials where they only put breakpoints on a line number in file (eg: breakpoint a.go:15 ).我浏览了很多在线资料,他们只在文件中的行号上放置断点(例如: breakpoint a.go:15 )。

I have done a lot of debugging in 'C' where I put breakpoints on functions.我在'C'中做了很多调试,我在函数上放置了断点。 Is this kind of debugging possible in go??在 go 中可以进行这种调试吗?

I have the following code in my main package.我的主包中有以下代码。

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

I want to put breakpoints to我想把断点放在

1) function WithUser() which belongs to package fabsdk in file github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/context.go . 1)函数WithUser()属于打包fabsdk在文件github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/context.go
2) method Context() belonging to type FabricSDK in file github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/fabsdk.go in package fabsdk . 2)方法Context()属于类型FabricSDK在文件github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/fabsdk.go在包fabsdk

Is it possible to put breakpoints to method WithUser() and context() or Isbreakpoints only allowed at a line number in a file??是否可以将断点放置到方法WithUser()context()或 Isbreakpoints 只允许在文件中的行号处?? I could use either gdb or delve or any other debugger as well.我也可以使用 gdb 或 delve 或任何其他调试器。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM