gdbgui
gdbgui copied to clipboard
gdbgui Roadmap
history
gdbgui was started and developed by me in my spare time. It has grown in scope, and gotten more users than I ever expected from all over the world, which is very exciting :earth_americas:. It has been really fun and rewarding to make, and I'm proud of how many developers it has helped to understand and debug their application.
I have had some help from the community to iron out bugs and some corner cases, but the majority of workload and features have been added by me in my personal time. And the reality is this is a non-trivial application that has taken a lot of work and focus to get to where it's at. Nevertheless it is a side-project that provides no financial incentive for me to spend my nights and weekends working on it, especially now that I no longer use it at my job.
current status
gdbgui is stable and useful to a wide range of gdb users.
future development
I will still be reviewing Pull Requests and answering questions, but the majority of changes and improvements to gdbgui will be made by you, the community.
Below I list what I consider the highest impact issues to be. All of these issues have the help wanted
label, which you can filter a search on.
If you have interest in making any of these happen, please reach out and get the ball rolling! I, and many users, would appreciate your help :raised_hands:. gdbgui is a full stack application, but don't be afraid to help if you are only comfortable with one part of the stack. For the most part, the abstractions allow you to work in one part of the code without needing to understand others.
Better Usability
These are features that will directly make gdbgui more useful to end-users.
- Use a real pty in the frontend. This will be a dramatic usability improvement and open up new use cases. https://github.com/cs01/gdbgui/issues/295
- Use text editor in frontend https://github.com/cs01/gdbgui/issues/308
- CTRL+P to search for file https://github.com/cs01/gdbgui/issues/192
- Clean up user interface after https://github.com/cs01/gdbgui/issues/312
Better Engineering
These will make development easier, improve performance, keep things on modern and more maintainable toolchains.
- Convert all files to .ts and add more type annotations https://github.com/cs01/gdbgui/issues/309
- Replace splitjs library with css grid https://github.com/cs01/gdbgui/issues/310
- Use Tailwind css and replace all custom css https://github.com/cs01/gdbgui/issues/312
- Replace autocomplete library https://github.com/cs01/gdbgui/issues/311
- Use asyncio on backend so that pygbmi is event-based rather than running in a loop and pausing for a short period of time https://github.com/cs01/pygdbmi/issues/41
- use
-list-feature
instead of parsing output https://github.com/cs01/gdbgui/issues/313 - use modern async backend https://github.com/cs01/gdbgui/issues/315
Just a short notice from first short experience in using gdbgui: pwndbg has a stack view which I missed in gdbgui (including markers for stack and base pointer). Another feature of pwndbg is to resolve memory addresses and show where they point to (symbol and target content), both for registers and the stack.
@pothos those sound like useful features. If you are able to make a PR I would be glad to review and get it into gdbgui, but at the moment I am not able to add them myself.