Blockly Developer conference is running tomorrow and wednesday. One of the staff talks is this video showing how by serializing the state of a JS Interpreter, and taking diffs as the state changes, you can build a javascript debugger that has "next" and "previous" options for navigating the code execution.
https://youtu.be/wa4pq40_V04▾
g
guitarvydas
05/03/2022, 7:26 AM
(brainstorming: please question or argue)
It seems to me that the problem is not that the debugger needs to go backwards in time, but, that the debugger is showing me the wrong information (too much detail).
When I’m debugging a JavaScript program, I don’t want to see what the assembly code is doing.
When I’m debugging high-level concepts, I don’t want to see what the JavaScript is doing.
When I’m debugging a compiler, I do want to see what the assembly code is doing.
Bizarrely, the C guys were headed in the right direction. #line and #file. What they got wrong (IMHO) is that they thought that programs were based on lines of text.