Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

During debugging jumps to proc.go at each step. #1617

Closed
mjgabriel opened this issue Jul 9, 2021 · 18 comments
Closed

During debugging jumps to proc.go at each step. #1617

mjgabriel opened this issue Jul 9, 2021 · 18 comments
Labels
Debug Issues related to the debugging functionality of the extension. FrozenDueToAge
Milestone

Comments

@mjgabriel
Copy link

What version of Go, VS Code & VS Code Go extension are you using?

  • Run go version to get version of Go from the VS Code integrated terminal.
    go 1.16.5 darwin/amd64
  • Run gopls -v version to get version of Gopls from the VS Code integrated terminal.
    golang.org/x/tools/gopls v0.7.0
    golang.org/x/tools/gopls@v0.7.0 h1:JQBHW81Gsyim6iDjUwGoPeSpXrSqwen3isPJLfDfaYU=
  • Run code -v or code-insiders -v to get version of VS Code or VS Code Insiders.
    1.58.0
    2d23c42a936db1c7b3b06f918cde29561cc47cd6
    x64
  • Check your installed extensions to get the version of the VS Code Go extension
    v0.26.0
  • Run Ctrl+Shift+P (Cmd+Shift+P on Mac OS) > Go: Locate Configured Go Tools command.

Share the Go related settings you have added/edited

{
    "workbench.editor.highlightModifiedTabs": true,
    "go.delveConfig": {
        "dlvLoadConfig": {
            "followPointers": true,
            "maxVariableRecurse": 1,
            "maxStringLen": 1024,
            "maxArrayValues": 64,
            "maxStructFields": -1
        },
        "apiVersion": 2,
        "showGlobalVariables": false
    }
}

Describe the bug

When debugging VS Code jumps to proc.go on every step. This started after updating VS Code to June 2021 (version 1.58).

Steps to reproduce the behavior:

Load up a project, starting debugging.

@gopherbot gopherbot added this to the Untriaged milestone Jul 9, 2021
@mjgabriel
Copy link
Author

Rolled back to May 2021 (version 1.57) release and no issue with debugging. VS Code is not jumping to proc.go when stepping through code during debugging.

@lucky-wolf
Copy link

I have this same issue.
I thought it was related to go 1.16.5 -- but the problem has started recurring after rolling back to 1.16.3. So it does indeed seem to be VSCode's Go delv interaction, rather than the version of Go in particular.

@findleyr findleyr added the Debug Issues related to the debugging functionality of the extension. label Jul 9, 2021
@hyangah
Copy link
Contributor

hyangah commented Jul 9, 2021

Thanks for reporting the issue @mjgabriel and @lucky-wolf
I could reproduce it with the latest vscode release.
Good news is that the new debug adapter (dlv-dap) isn't affected and keeps working - See https://github.com/golang/vscode-go/blob/master/docs/dlv-dap.md for instructions on how to use the new debug adapter.

The new VS Code release (1.58) probably has some changes that are picky and unhappy about how Go's legacy debug adapter behaves. I see VS Code issues multiple StackTraceRequests back to back but I don't know why yet. (cc @suzmue @polinasok - do you know what triggers vscode's stack trace requests?)

From client: next({"threadId":1})
NextRequest
To client: {"seq":0,"type":"response","request_seq":19,"command":"next","success":true}
NextResponse
To client: {"seq":0,"type":"event","event":"output","body":{"category":"stderr","output":"2021-07-09T13:52:06-04:00 debug layer=debugger nexting\n"}}
2021-07-09T13:52:06-04:00 debug layer=debugger nexting
next state {"Pid":0,"Running":false,"Recording":false,"CoreDumping":false,"currentThread":{"id":23030158,"pc":17612801,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":25,"function":{"name":"main.barfoo","value":17612768,"type":0,"goType":0,"optimized":false},"goroutineID":1,"ReturnValues":null,"CallReturn":false},"currentGoroutine":{"id":1,"currentLoc":{"pc":17612801,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":25,"function":{"name":"main.barfoo","value":17612768,"type":0,"goType":0,"optimized":false}},"userCurrentLoc":{"pc":17612801,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":25,"function":{"name":"main.barfoo","value":17612768,"type":0,"goType":0,"optimized":false}},"goStatementLoc":{"pc":17224406,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/asm_amd64.s","line":226,"function":{"name":"runtime.rt0_go","value":17224096,"type":0,"goType":0,"optimized":true}},"startLoc":{"pc":17021376,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","line":115,"function":{"name":"runtime.main","value":17021376,"type":0,"goType":0,"optimized":true}},"threadID":23030158,"status":2,"waitSince":0,"waitReason":14,"unreadable":""},"Threads":[{"id":23030457,"pc":140733737434146,"file":"","line":0,"goroutineID":0,"ReturnValues":null,"CallReturn":false},{"id":23030458,"pc":140733737434446,"file":"","line":0,"goroutineID":0,"ReturnValues":null,"CallReturn":false},{"id":23030459,"pc":140733737434446,"fil[...]
handleReenterDebug(step).
To client: {"seq":0,"type":"event","event":"stopped","body":{"reason":"step","threadId":1,"allThreadsStopped":true}}
StoppedEvent("step")
From client: threads(undefined)
ThreadsRequest
goroutines [{"id":1,"currentLoc":{"pc":17612801,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":25,"function":{"name":"main.barfoo","value":17612768,"type":0,"goType":0,"optimized":false}},"userCurrentLoc":{"pc":17612801,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":25,"function":{"name":"main.barfoo","value":17612768,"type":0,"goType":0,"optimized":false}},"goStatementLoc":{"pc":17224406,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/asm_amd64.s","line":226,"function":{"name":"runtime.rt0_go","value":17224096,"type":0,"goType":0,"optimized":true}},"startLoc":{"pc":17021376,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","line":115,"function":{"name":"runtime.main","value":17021376,"type":0,"goType":0,"optimized":true}},"threadID":23030158,"status":2,"waitSince":0,"waitReason":14,"unreadable":""},{"id":2,"currentLoc":{"pc":17022965,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","line":337,"function":{"name":"runtime.gopark","value":17022752,"type":0,"goType":0,"optimized":true}},"userCurrentLoc":{"pc":17022965,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","line":337,"function":{"name":"runtime.gopark","value":17022752,"type":0,"goType":0,"optimized":true}},"goStatementLoc":{"pc":17022325,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","line":264,"function":{"name":"runtime.init.6","value":17022272,"type":0,"goType":0,"optimized":true}},"startLoc":{"p[...]
To client: {"seq":0,"type":"response","request_seq":20,"command":"threads","success":true,"body":{"threads":[{"id":1,"name":"main.barfoo"},{"id":2,"name":"runtime.gopark"},{"id":3,"name":"runtime.gopark"},{"id":4,"name":"runtime.gopark"},{"id":17,"name":"runtime.gopark"}]}}
ThreadsResponse [{"id":1,"name":"main.barfoo"},{"id":2,"name":"runtime.gopark"},{"id":3,"name":"runtime.gopark"},{"id":4,"name":"runtime.gopark"},{"id":17,"name":"runtime.gopark"}]
From client: stackTrace({"threadId":1,"startFrame":0,"levels":20})
StackTraceRequest
locations [{"pc":17612801,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":25,"function":{"name":"main.barfoo","value":17612768,"type":0,"goType":0,"optimized":false},"Locals":[],"Arguments":[],"FrameOffset":-1864,"FramePointerOffset":-1880,"Defers":[],"Err":""},{"pc":17615626,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":66,"function":{"name":"main.foobar","value":17613024,"type":0,"goType":0,"optimized":false},"Locals":[{"name":"a1","addr":824634366720,"onlyAddr":false,"type":"string","realType":"string","flags":0,"kind":24,"value":"foofoofoofoofoofoo","len":18,"cap":0,"children":[],"base":17781896,"unreadable":"","LocationExpr":"[block] DW_OP_fbreg -0x438 ","DeclLine":32},{"name":"a2","addr":824634366256,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"6","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"[block] DW_OP_fbreg -0x608 ","DeclLine":33},{"name":"a3","addr":824634366248,"onlyAddr":false,"type":"float64","realType":"float64","flags":0,"kind":14,"value":"7.23","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"[block] DW_OP_fbreg -0x610 ","DeclLine":34},{"name":"a4","addr":824634366304,"onlyAddr":false,"type":"[2]int","realType":"[2]int","flags":0,"kind":17,"value":"","len":2,"cap":-1,"children":[{"name":"","addr":824634366304,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"1","len":0,"cap":0,"children":[],"base":0,"unreadable[...]
To client: {"seq":0,"type":"response","request_seq":21,"command":"stackTrace","success":true,"body":{"stackFrames":[{"id":1000,"source":{"name":"testvariables.go","path":"/Users/hakim/projects/delve/_fixtures/testvariables.go","sourceReference":0},"line":25,"column":0,"name":"main.barfoo"},{"id":1001,"source":{"name":"testvariables.go","path":"/Users/hakim/projects/delve/_fixtures/testvariables.go","sourceReference":0},"line":66,"column":0,"name":"main.foobar"},{"id":1002,"source":{"name":"testvariables.go","path":"/Users/hakim/projects/delve/_fixtures/testvariables.go","sourceReference":0},"line":73,"column":0,"name":"main.main"},{"id":1003,"source":{"name":"proc.go","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","sourceReference":0},"line":225,"column":0,"name":"runtime.main"},{"id":1004,"source":{"name":"asm_amd64.s","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/asm_amd64.s","sourceReference":0},"line":1371,"column":0,"name":"runtime.goexit"}],"totalFrames":5}}
StackTraceResponse
From client: stackTrace({"threadId":1,"startFrame":0,"levels":20})  <------------------- !!!!
StackTraceRequest
From client: stackTrace({"threadId":2,"startFrame":0,"levels":20}) <------------------- !!!! I don't see this with vscode 1.57.
StackTraceRequest
locations [{"pc":17612801,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":25,"function":{"name":"main.barfoo","value":17612768,"type":0,"goType":0,"optimized":false},"Locals":[],"Arguments":[],"FrameOffset":-1864,"FramePointerOffset":-1880,"Defers":[],"Err":""},{"pc":17615626,"file":"/Users/hakim/projects/delve/_fixtures/testvariables.go","line":66,"function":{"name":"main.foobar","value":17613024,"type":0,"goType":0,"optimized":false},"Locals":[{"name":"a1","addr":824634366720,"onlyAddr":false,"type":"string","realType":"string","flags":0,"kind":24,"value":"foofoofoofoofoofoo","len":18,"cap":0,"children":[],"base":17781896,"unreadable":"","LocationExpr":"[block] DW_OP_fbreg -0x438 ","DeclLine":32},{"name":"a2","addr":824634366256,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"6","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"[block] DW_OP_fbreg -0x608 ","DeclLine":33},{"name":"a3","addr":824634366248,"onlyAddr":false,"type":"float64","realType":"float64","flags":0,"kind":14,"value":"7.23","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"[block] DW_OP_fbreg -0x610 ","DeclLine":34},{"name":"a4","addr":824634366304,"onlyAddr":false,"type":"[2]int","realType":"[2]int","flags":0,"kind":17,"value":"","len":2,"cap":-1,"children":[{"name":"","addr":824634366304,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"1","len":0,"cap":0,"children":[],"base":0,"unreadable[...]
To client: {"seq":0,"type":"response","request_seq":22,"command":"stackTrace","success":true,"body":{"stackFrames":[{"id":1005,"source":{"name":"testvariables.go","path":"/Users/hakim/projects/delve/_fixtures/testvariables.go","sourceReference":0},"line":25,"column":0,"name":"main.barfoo"},{"id":1006,"source":{"name":"testvariables.go","path":"/Users/hakim/projects/delve/_fixtures/testvariables.go","sourceReference":0},"line":66,"column":0,"name":"main.foobar"},{"id":1007,"source":{"name":"testvariables.go","path":"/Users/hakim/projects/delve/_fixtures/testvariables.go","sourceReference":0},"line":73,"column":0,"name":"main.main"},{"id":1008,"source":{"name":"proc.go","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","sourceReference":0},"line":225,"column":0,"name":"runtime.main"},{"id":1009,"source":{"name":"asm_amd64.s","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/asm_amd64.s","sourceReference":0},"line":1371,"column":0,"name":"runtime.goexit"}],"totalFrames":5}}
StackTraceResponse
locations [{"pc":17022965,"file":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","line":337,"function":{"name":"runtime.gopark","value":17022752,"type":0,"goType":0,"optimized":true},"Locals":[{"name":"mp","addr":824633954152,"onlyAddr":false,"type":"*runtime.m","realType":"*runtime.m","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":824633967744,"onlyAddr":false,"type":"runtime.m","realType":"runtime.m","flags":0,"kind":25,"value":"","len":64,"cap":0,"children":[{"name":"g0","addr":824633967744,"onlyAddr":false,"type":"*runtime.g","realType":"*runtime.g","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":824633723136,"onlyAddr":false,"type":"runtime.g","realType":"runtime.g","flags":0,"kind":25,"value":"","len":47,"cap":0,"children":[{"name":"stack","addr":824633723136,"onlyAddr":false,"type":"runtime.stack","realType":"runtime.stack","flags":0,"kind":25,"value":"","len":2,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"stackguard0","addr":824633723152,"onlyAddr":false,"type":"uintptr","realType":"uintptr","flags":0,"kind":7,"value":"123145482987272","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"stackguard1","addr":824633723160,"onlyAddr":false,"type":"uintptr","realType":"uintptr","flags":0,"kind":7,"value":"123145482987272","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"_pa[...]
To client: {"seq":0,"type":"response","request_seq":23,"command":"stackTrace","success":true,"body":{"stackFrames":[{"id":1010,"source":{"name":"proc.go","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","sourceReference":0},"line":337,"column":0,"name":"runtime.gopark"},{"id":1011,"source":{"name":"proc.go","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","sourceReference":0},"line":342,"column":0,"name":"runtime.goparkunlock"},{"id":1012,"source":{"name":"proc.go","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/proc.go","sourceReference":0},"line":276,"column":0,"name":"runtime.forcegchelper"},{"id":1013,"source":{"name":"asm_amd64.s","path":"/usr/local/Cellar/go/1.16.5/libexec/src/runtime/asm_amd64.s","sourceReference":0},"line":1371,"column":0,"name":"runtime.goexit"}],"totalFrames":4}}
StackTraceResponse

@suzmue
Copy link
Contributor

suzmue commented Jul 9, 2021

VS Code automatically expands the first 'stopped' thread. DAP assumes that a single thread can be stepped, so the UI does not know that the second goroutine also continued. It therefore tries to expand it once thread 1 resumes via next. However, because the next executes so quickly it finishes expanding it after thread 1 has already stopped.

In dlv-dap this is addressed by sending a continued event whenever step, stepout or next are called.

@lucky-wolf
Copy link

I can confirm that the new dlv-dap works for me and resolves this issue.

@hyangah
Copy link
Contributor

hyangah commented Jul 12, 2021

The fix for this problem doesn't see too hard but we are afraid this would surface other issues in the legacy debug adapter.
Since we are currently moving towards migrating to the new debug adapter, the current recommendation is to use the new dlv-dap.

@hyangah hyangah modified the milestones: Untriaged, Backlog Jul 12, 2021
@mjgabriel
Copy link
Author

Switched to using dlv-dap, all good. 👍🏼

@kosmgco
Copy link

kosmgco commented Jul 15, 2021

When I changed go.delveConfig to dlv-dap, VS Code will step into testing.go:1239 and step out.

$ go version
go version go1.16.4 linux/amd64
$ code -v
1.58.1
2aeda6b18e13c4f4f9edf6667158a6b8d408874b
x64
"go.delveConfig": {
    "debugAdapter": "dlv-dap",
}

@polinasok
Copy link
Contributor

@kosmgco Please also let us know what you get wiith

go version -m /path/to/dlv-dap # As reported under Go: Install Tools

What do you expect to see?

@kosmgco
Copy link

kosmgco commented Jul 15, 2021

$ go version -m /go/bin/dlv-dap
/go/bin/dlv-dap: go1.16.4
        path    github.com/go-delve/delve/cmd/dlv
        mod     github.com/go-delve/delve       v1.6.2-0.20210611174649-688f94a4f838    h1:DZRUEKzIWbnnrLvKpBCBS2s+TytEC/Sg7xb/WYf57L4=
        dep     github.com/cosiner/argv v0.1.0  h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg=
        dep     github.com/cpuguy83/go-md2man   v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk=
        dep     github.com/google/go-dap        v0.5.0  h1:RMHAVn5xeunBakYk65ggHXttk6qjZVdbmi+xhAoL2wY=
        dep     github.com/hashicorp/golang-lru v0.5.4  h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
        dep     github.com/mattn/go-isatty      v0.0.3  h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI=
        dep     github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b      h1:8uaXtUkxiy+T/zdLWuxa/PG4so0TPZDZfafFNNSaptE=
        dep     github.com/russross/blackfriday v1.5.2  h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=
        dep     github.com/sirupsen/logrus      v1.6.0  h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
        dep     github.com/spf13/cobra  v0.0.0-20170417170307-b6cb39589372      h1:eRfW1vRS4th8IX2iQeyqQ8cOUNOySvAYJ0IUvTXGoYA=
        dep     github.com/spf13/pflag  v0.0.0-20170417173400-9e4c21054fa1      h1:7bozMfSdo41n2NOc0GsVTTVUiA+Ncaj6pXNpm4UHKys=
        dep     go.starlark.net v0.0.0-20200821142938-949cc6f4b097      h1:YiRMXXgG+Pg26t1fjq+iAjaauKWMC9cmGFrtOEuwDDg=
        dep     golang.org/x/arch       v0.0.0-20190927153633-4e8777c89be4      h1:QlVATYS7JBoZMVaf+cNjb90WD/beKVHnIxFKT4QaHVI=
        dep     golang.org/x/sys        v0.0.0-20200625212154-ddb9806d33ae      h1:Ih9Yo4hSPImZOpfGuA4bR/ORKTAbhZo2AbWNRCnevdo=
        dep     gopkg.in/yaml.v2        v2.2.1  h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=

@lucky-wolf
Copy link

The fix for this problem doesn't see too hard but we are afraid this would surface other issues in the legacy debug adapter.
Since we are currently moving towards migrating to the new debug adapter, the current recommendation is to use the new dlv-dap.

Apologies if this not a great way to communicate this (and please point me in a better direction):

The dlv-dap does work well except when adding a BP while a debug session is active.

If I do this - then the underlying software locks up and the debugger session is useless and all I can do is to kill it with the "stop" button on the debug context toolbar. Anything else is useless. Doesn't matter if I was in step mode or run mode - simply setting a BP clobbers the dlv-dap context (it would seem).

Worth improving on for sure (or marking the new BP as disabled until the current session ends and I can fire up a new one -- that would be a fine work-around for now -- essentially - delaying trying to send it to delv until a new session).

@suzmue
Copy link
Contributor

suzmue commented Jul 15, 2021

@lucky-wolf That sounds like a real problem and I can understand that this would make using dlv-dap difficult. The behavior of dlv-dap vs the legacy adapter when it comes to setting a breakpoint while the debuggee is running is slig ohtly different. In the old adapter, it would attempt to halt, set breakpoint, and continue. In dlv-dap, it just halts and sets the breakpoint. There were several bugs associated with the old adapter having to doing with attempting to continue, so we decided not to implement continuing after setting breakpoints.

Could you please open a new issue and include the steps that you take to produce this and include the logs from dlv-dap and the extension?

To include the logs please add the following to your launch configuration:

"logOutput": "dap,debugger",
"showLog": true,
"trace": "verbose",

Then you can copy the output from the debug console and from the Go: Debug output channel.

@polinasok polinasok added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Jul 16, 2021
@hyangah
Copy link
Contributor

hyangah commented Jul 16, 2021

@kosmgco Can you check if you have the same issue after updating dlv-dap to the latest version? (Go: Install/Update Tools -> choose 'dlv-dap'). If the problem persists, could you please open a new issue and share the logs following the instruction in @suzmue's comment

suzmue added a commit to suzmue/delve that referenced this issue Jul 16, 2021
Send the continued event before the step response to make sure that there is no time where the client believes that only a single thread is running.

Updates golang/vscode-go#1617
@kosmgco
Copy link

kosmgco commented Jul 19, 2021

@hyangah I am already made a new issue with log and other infos #1629

@mjgabriel
Copy link
Author

Reporting back that using dlv-dap is not actually an improvement.

I'm running dlv-dap v1.7.0 and when debugging and stepping through code, VS Code is jumping to netpoll.go then back to the current source file I'm debugging. Hit F11 it jumps to netpoll.go then jumps back to my source file tab. Step again, it jumps to netpoll.go and then jumps back to my source file tab.

derekparker pushed a commit to go-delve/delve that referenced this issue Jul 20, 2021
* service/dap: send continued event before step response

Send the continued event before the step response to make sure that there is no time where the client believes that only a single thread is running.

Updates golang/vscode-go#1617

* move to helper
@polinasok
Copy link
Contributor

@mjgabriel could you please use `Go: install/update tools" to get a fresher version of dlv-dap and try again. We just merged in a fix that might help. Thank you.

@mjgabriel
Copy link
Author

@mjgabriel could you please use `Go: install/update tools" to get a fresher version of dlv-dap and try again. We just merged in a fix that might help. Thank you.

Excellent, will do. Thank you. 👍🏼

@gopherbot
Copy link
Collaborator

Change https://golang.org/cl/338194 mentions this issue: src/debugAdapter: send continued event on step requests

@polinasok polinasok added FixedInBothDAs and removed WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. labels Jul 30, 2021
@hyangah hyangah modified the milestones: Backlog, v0.27.0 Aug 3, 2021
@golang golang locked and limited conversation to collaborators Aug 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Debug Issues related to the debugging functionality of the extension. FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

8 participants