Currently the project is in its infancy, with only a couple of months of work into it we are starting to get the basic features like:
- Very basic GUI
- Opens instantly
- Low lag user interface
- Steps though source-code
- Shows the stack frames
- Lists threads
- GDB console with history and tab completion (because we're GDB based this lets us get a ton of functionality right a way)
- Runs on Linux
- Watch window
- Symbol search: Locals, Globals, Functions...
Watch window (October 2017) (takes a minute to load video) :
This is a recent screenshot (September 2017) (takes a minute to load video):
But I expect the user interface to change considerably as development moves forward.
The current short-term goals are to get the basic features that one would expect from a debugger:
- Memory window
- Stepping though disassembly
- being able to open a ~10k line file
- Doesn't crash
- Key-bindings
- record/step-backwards
- Ability to copy text from anywhere
Longer-term goal ideas:
- Limited dependancies
- Completely overhaul the GUI
- Further optimized
- Have a customization/automation API With IPC for interfacing with editors or command line tools
- Cross platform
- Humbug specific distribution of GDB
- API Bindings for many languages
The goals are very fluid and I expect them to change once we get feedback from users and the community. Once I get a couple more features out, I think I will be ready to start a ~$2 Patreon and have some real users. Also shortly after that time I'll probably start working on a HMN: Lessons Edition (working title) that will be free for the sole purpose of following lessons and other learning material like HMH.
I also have a Tello board that I am using to track bugs and feature requests that testers have access to. Part of being a Patreon will be having access to the board and being a part of that conversation. New features and next directions will guided by users voting on issues.
Eventually the customization layer will probably be offered as a premium product, (much like 4coder super). Once I get to this point, I'll probably have a HMN Gitlab where the customization layer code is hosted. This will serve as an easy way for me to publish updated header files, but is also a place where community users can post and share their own customizations if they wish.
Full disclosure:
I am very busy with other projects that help pay the bills, so I really only get to work on Humbug for a couple weekends each month. However, even with the limited time I can spend on this project I still feel that I can get a bit of progress in each month. When I do find time to work on it feel free to hang out with me while I stream the development: https://www.twitch.tv/croepha