-
Notifications
You must be signed in to change notification settings - Fork 149
Description
I have a situation where calculating my stacktrace is expensive (takes 300ms-800ms in PowerShell for "reasons").
Editors such as vscode will not display where they are stopped until they receive the first stackTrace frame, then they will background the remainder stacktrace fetch if SupportsDelayedStackTraceLoading
is specified. Because of this, stepping in the PowerShell debug adapter feels "slow" as the editor will not respond until I can give it at least one stack trace.
I can send it a "dummy" breakpoint frame immediately that is 90% there with id: 0
in order to get the editor UI to respond quickly, but if the editor requests the next stackTrace by startFrame
at 1, if I "spuriously" supply it again via id:0
it still gets appended to the call stack list rather than replace what is in the call stack.
Before I can ask in vscode to change this behavior, it should be less ambiguous in the spec, so either a statement that says subsequent stacktrace requests with the same ID should overwrite the existing stacktraces if spuriously received outside the requested range, or allow an additional method before stacktrace (or additional property as part of stopped
event) that allows specifying the breakpoint location so the editor can immediately place its pointer there while backgrounding for further callstack/stacktrace info.
Thanks!