-
Notifications
You must be signed in to change notification settings - Fork 29.9k
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
duplicated top stackframe with old debug adapters #28808
Comments
VS Code 1.13 uses the following heuristic to decide whether a DA supports loading stack frames ranges: it request a single frame (startFrame: 0, levels: 1). If the DA returns more frames, VS Code assumes that the DA does not support ranges. This heuristic fails if there is only one frame available or if the DA honours 'levels' but not 'startFrame'. This latter case is the reason for the mono-debug problem. Since we have not found a way to fix the heuristic in a robust way, we've decided to require that DAs opt-into the delayed loading of stack frames by introducing a new capability @roblourens please enable the |
@delmyers @gregg-miskelly @MSLaguana @DanTup @devoncarew @WebFreak001 @roblourens @andysterland @hbenl @lukaszunity @svaarala @ramya-rao-a @vadimcn @felixfbecker @daviwil @rkeithhill @DonJayamanne @MSLaguana @rebornix in order to benefit from delayed stack trace loading your adapters now need to explicitly specify this capability This is the original feature request, however we have now introduced a capability as @weinand mentions in the comment above. The capability is available in the preview version of the adapter npm module. |
@ishanarora @weinand Do we need to target a specific Code version to use |
VS Code will make use of |
@weinand Do we need an updated |
As Isi said: "The capability is available in the preview version of the adapter npm module." So either load the "pre" version (like I do for node-debug: https://github.com/Microsoft/vscode-node-debug/blob/master/package.json#L31) or wait until I've released the final version of the npm module Wednesday next week. |
@weinand Apologies; I missed that but also didn't realise that the npm page doesn't show that there is a pre-release (it shows "1.20.0 is the latest of 97 releases" with seemingly no way to view a full list or pre-releases - I'm used to NuGet!). Everything's clear now, thanks! 👍 |
VSCode Version: Insider 1.14.0
Observe: the stack frame is duplicated:
First VS Code asks for stackframes with startFrame = 0 and levels = 1.
Then mono-debug returns all frames (which happens to be exactly one).
Then VS Code asks for stackframes with startFrame = 0 and levels = 20 (probably because the first result did not return the "totalFrames" attribute and VS Code falls back to the old behavior).
Then mono-debug returns all frames again and VS Code adds them to the existing one instead of replacing the existing one.
Then I tried a program where the stacktrace has one additional level but this doesn't make a difference:
The text was updated successfully, but these errors were encountered: