Component script debugger
|Reported by:||Philip||Owned by:||Yves|
|Component:||UI & Simulation||Keywords:|
Description (last modified by leper)
Component scripts are likely to get complex, so there needs to be a reasonable way to debug them. Currently there's just print() going to stdout, which isn't great.
Ideally there'd be a full graphical debugger with source code display and breakpoints and watches and stepping and so on. But that sounds really complex so maybe something simpler would be a more realistic idea.
The implementation should use https://developer.mozilla.org/en-US/docs/Tools/Debugger-API (and likely also https://wiki.mozilla.org/Remote_Debugging_Protocol)
The debugger should be able to pause execution. That means the thread running scripts will be paused inside its JS API calls, and the simulation will be in an inconsistent state.
We could perhaps allow the engine to keep running (by using a reentrant game loop, or splitting the simulation into a secondary thread), but we'd need to be very careful since the engine isn't currently designed to do that. It might be better to implement the debugger as part of Atlas (which runs in its own independent thread), so it can communicate with an entirely paused engine, and also so it can use wxWidgets for the UI.
Change History (17)
comment:4 Changed 6 years ago by kenny
- Owner changed from Philip to kenny
- Status changed from new to assigned
comment:8 Changed 5 years ago by k776
- Milestone changed from Alpha 8 to Alpha 9
- Priority changed from Should Have to Nice to Have
comment:9 Changed 5 years ago by historic_bruno
- Owner kenny deleted
- Status changed from assigned to new
comment:15 Changed 4 years ago by Yves
- Resolution set to fixed
- Status changed from assigned to closed