Skip to content

debug: Is there a way to step into a new coroutine when using a handler? #3181

Open
@jacksonfu

Description

Is your feature request related to a problem? Please describe.
hi
Sometime, dont clearly know which handler to call, so dont eaily to directly break at the func.
VS Code Go extension:v0.41.0

type handler func(s string)
func myHandler(s string) {
	fmt.Println(s) // not stop at this line
}
func main() {
    h := handler(myHandler)
    go h("Hello, World!")// set a breakpoint on this line and use step into
    time.Sleep(8 * time.Second)// but stop at this line
}

issue1

Describe the solution you'd like

await call(sth)

Like debuging js through chrome, we can set a breakpoint either on await or on call. (Maybe inappropriate analogy)

Describe alternatives you've considered

  1. If there a viable alternative to jump through the value of variable. Also like debuging js through chrome, if the value is a callable obj, we can directly jump into the function and can also set the breakpoint.
    issue1

  2. If we can monitor when a new coroutine start to run.

Additional context
It works fine if I use as follow:

go func(){
h("Hello, World!")}() // set breakpoint on this line, but kind of tedious

Many thanks to you!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    DebugIssues related to the debugging functionality of the extension.FeatureRequestNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions