dphfox/Fusion

Add debugging protocol for non-invasive inspection

Closed this issue · 0 comments

I've made a variety of tools that depend on invasive modification of Fusion's internals to hijack certain calls and expose certain tracked variables. These mods allow for uniquely powerful insights into Fusion code at a level of granularity not possible elsewhere.

For example, it's possible to dump all of Fusion's memory management structures in real time, and inspect the creation order and hierarchy of all alive objects. This not only helps to diagnose user code, but has proven useful in finding bugs nestled inside of Fusion's internals.

image

Instead of requiring invasive mods to access this valuable information, it'd be desirable to have Fusion expose this information on its own. It could use a similar mechanism to what we currently use for External - a series of callbacks that can be hooked into by an extending module, which can then analyse incoming data and communicate with a debugging host.