Hi! I wanted to give a quick update of the things I've been working on in uscope, the from-scratch graphical Linux debugger I've been building.
If you find this work compelling, please consider supporting my work. This is a strong signal to me that I'm on the right track.
For starters, I demo'ed the project on Zig Showtime! Thank you to Loris for having me; it was a lot of fun.
Next, here are the project updates in no particular order:
- I completely re-wrote the variable rendering code so now it's displayed as an expandable tree. This means that things like arrays/slices, nested structs, and structs with circular pointers back to themselves are rendered properly. This is similar to how other debuggers render their data.
- I also fixed a boat-load of bugs related to extracting variable data from the subordinate process, and folks are reporting some amount of success using the debugger on their real-world programs now!
- I added the ability to debug multi-threaded subordinates (there's still a lot of bugs and things to do here, but it's a start)
- Added support for Odin data types as a first-class citizen.
- The debugger now renders very, very basic information for C++, Rust, and Jai data types. It's ugly, but can be usable if you're not doing anything complicated (i.e. Jai looks OK, but C++ and Rust not so much)
That's all for now. Thanks for reading!
P.S., Here's a screenshot of uscope rendering some very basic Odin types: