[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Working on a new Jace debugger feature



Eventually I'll have some way of showing live disassembly that doesn't cause the emulator to slow down as much (full speed disassembly would be impractical not to mention just outright too demanding).  However there is one feature I think I can pull off that won't slow down the emulator too much: Active memory monitoring.

Basically, you pick a range of memory addresses and it will update a few times every second to show you either the amount of activity in a heatmap fashion, or a value map indicating what values are stored at each address.  Addresses are laid out in a grid fashion so that if there is a really busy address you'll see it flicker or just stay hot.

Of course you would have to be able to move the mouse over the grid to get the information about each cell: address, value, etc.

If I can get this working then the next step is detect if the memory being read or written and if it is within 3 bytes of the program counter.  That way I can show read (green), write (red), program (blue) so that you can get a nice colorful outlay of what the program is doing.  For example, self-modifying code would show up as purple!

So far I have the overall UI laid out and hooked up to code, as well as the core framework to track activity and update at 30 frames/second.  All that's left is drawing the grid and updating individual cells (redrawing the whole grid would be too much extra work.)  If I'm lucky, it will be a few hours.  If I'm on par with my norm it will be a few weeks of off and on tinkering and maybe a few hair pulling rounds of "why isn't this working yet?!"

-B