Understanding JavaScript's call stack through visualization.

Project goals

  • Introduce novel ways to graphically debug JavaScript code.
  • Develop a platform for students to visualize JavaScript's call stack.

Technologies used

  • The debugger utilizes a version of Google's V8 JavaScript engine.
  • An Electron frontend interfaces with V8 through the Chrome DevTools protocol.
  • Some reverse engineering of the protocol was done with Wireshark.
  • We were able to "convince" V8 that our client is the Chrome DevTools client.

What we accomplished

Melete is capable of rendering the current scope of the call stack as well as historical scopes and highlights where the stack pointer currently is, all in in real time. This enables easy and novel demonstrations of recursive programming paradigms, as well as stack tracing for debugging.

Built With

Share this project: