Open idavis opened 1 year ago
Is this issue still up to date? It might be worth breaking out into smaller issues to tackle in the future.
@sezna It is a tracking issue for work. Smaller issues are created for those work items. We can discuss if we want to maintain the tracking issue.
I was referring to the items without issues already created for them, primarily the Debug Cleanup Task section.
This is a tracking issue for adding debugger support for Q#.
For a debugger to function across Monaco, VSCode, and potentially in a REPL, the core debugging functionality needs to reside in a new interpreter. As a first cut we can model this on the stateless interpreter. If we wish to look into supporting the REPL or (VS Code debugger REPL) we need to look at what it will take to do side effect free evaluation. This would also potentially power conditional breakpoints.
Components involved
Implementation plan
The initial plan is to support the base scaffolding and core features. Several of the triage and out of scope features require side effect free expression evaluation (log points, hit/conditional breakpoints, etc.). After the core features are functional for VS Code, the base functionality can be exposed for Monaco.
if
/within
/etcNotes
Tracking breakpoints with HIR node ids is blocked on #453
Resources