Skip to content

Allow Overwrite of Stacktrace with SupportsDelayedStackTraceLoading #508

@JustinGrote

Description

@JustinGrote

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!

Metadata

Metadata

Assignees

Labels

under-discussionIssue is under discussion for relevance, priority, approach

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions