jamesjuett / lobster

Interactive Program Visualization Tools
8 stars 3 forks source link

Feature - Runtime Events and Notifications #308

Open jamesjuett opened 2 years ago

jamesjuett commented 2 years ago

A runtime "event" is something that goes wrong in a program as it is being simulated, e.g. undefined behavior or the detection of a memory leak.

In the current codebase, some work is needed to ensure these events are being detected and logged appropriately via Simulation::eventOccurred, and the simulation should respond appropriately.

It's also worth considering whether any of these should be truly fatal events. IIRC, my original intent was for SimulationEvent.CRASH to represent an unrecoverable error, but whether or not that is the right choice seems a bit uncertain.

The simulation should also send messages (I think it does this now?) that may be received and acted upon by the UI to tell the user what happened. That UI functionality used to exist through a pretty poor popup interface and just needs to be rebuilt from scratch.