|
await FetchStackFramesAndVariablesAsync(noScriptName ? localScriptPath : null).ConfigureAwait(false); |
|
|
This line "blocks" stepping for about half a second, and I don't currently see any reason why it has to. We should return to the user as fast as possible that we have reached our breakpoint, and do this heavy processing at the point the DAP makes the stackTrace, scopes, and variables requests, because those are non-blocking to the UI
EDIT: Based on DAP testing, currently after a stop, vscode requests threads and stacktrace before the UI updates with the new breakpoint, but I think if we implement supportsDelayedStackTraceLoading capabilities, we can quickly return a first stack trace, and since threads is basically a dummy since we don't currently support multi-thread stacktraces, we can probably make some responsiveness improvements here.
PowerShellEditorServices/src/PowerShellEditorServices/Services/DebugAdapter/DebugService.cs
Lines 985 to 986 in bbf627b
This line "blocks" stepping for about half a second, and I don't currently see any reason why it has to. We should return to the user as fast as possible that we have reached our breakpoint, and do this heavy processing at the point the DAP makes the
stackTrace,scopes, andvariablesrequests, because those are non-blocking to the UIEDIT: Based on DAP testing, currently after a stop, vscode requests
threadsandstacktracebefore the UI updates with the new breakpoint, but I think if we implementsupportsDelayedStackTraceLoadingcapabilities, we can quickly return a first stack trace, and since threads is basically a dummy since we don't currently support multi-thread stacktraces, we can probably make some responsiveness improvements here.