microsoft/vscode

Feature request: Add reverse continue for TimeTravel Debugging feature for Node

aruneshchandra opened this issue · 17 comments

This request builds on the following work that was done earlier to support TTD for Node in VSCode

According to some internal usability testing, we discovered a need to have a reverse continue button on the debug bar in order to enhance the usability of the time travel debugging for more complex scenarios.

/cc: @weinand, @isidorn, @roblourens, @mrkmarron

@aruneshchandra please explain the semantics of "reverse continue"

"Reverse continue" is suppose to work exactly like the "Debug Continue" with the difference being that it goes backwards and is only available while debugging a TTD trace. So, when the debugger is broken into while debugging a TTD trace, hitting reverse continue should execute backwards until the first (previous) break point is hit. To enable this VSCode can pass a stepback:continue command to the debug adapter and the TTD enabled runtime should handle the rest.

@mrkmarron - do you have anything else to add ?

@roblourens are you supporting back-in-time debugging in node-debug2 too?

I don't think Node-chakra supports --inspect yet, although I think they're working on it.

@roblourens is right, --inspect is not supported in Node-ChakraCore yet , but we do plan to support it.
/cc: @digitalinfinity @agarwal-sandeep

any update on this ?

This is planned for the November release.

cool - when is the Nov release ? do we have a date ?

@aruneshchandra the plan with the dates will be posted soon on GitHub - to get notified on each iteration plan you can follow Erich on twitter https://twitter.com/erichgamma?lang=en

Do we know when this might show up in Nightlies ? We will be showing a demo at NodeInteractive at the end of this month and wanted to see this in action before that.

We can make this happen.

@aruneshchandra what is the exact name for the stepaction attribute of the continue that is passed to chakra? For stepping back it was 'back'. The stepback:continue that you've mentioned above does not look proper.

Since the command is continue stepaction:"reverse" may be appropriate. @aruneshchandra @mrkmarron?

@isidorn I've added a reverseContinueRequest to the protocol. Please add an action button to the debug action floating palette if the supportsStepBack capability is true.

node-debug uses a value reverse for the stepaction attribute of the continue request.

@aruneshchandra 'reverse continue' has arrived in the Insiders build. If you install the "Mock Debug" extension, you can try the feature:

2016-11-11_14-44-09-1

Thanx @weinand and @isidorn - this is great!