gdbgui icon indicating copy to clipboard operation
gdbgui copied to clipboard

Making A Feature TODO List for this project.

Open ghost opened this issue 5 years ago • 6 comments

I think this project has potential, unfortunately I wont have time to start until next year.

I want to however link features that are needed wanted. @cs01 Please feel free to add to this list. I want to get this made and put up in our README.

Short Term Items

  • BreakPoints set for GUI: https://github.com/cs01/gdbgui/issues/185
  • Full Visibility of entire executable
  • Correct the switch to disassembly-flavor (Make it work on one click)
  • Adjusted Disassembly window.
  • Reorganize the Right panel
  • Add Memory Dump tabs
  • Add String labels for Registers so if a pointer is to string it will show.
    • x/s $eax ... ect
  • Highlighting for JMP/CALL
  • GDBUI doesn't load executable correctly a lot of the time.
  • Better Line Highlighting for current instruction.
  • Peek instruction in CALL/JMP
  • Organize windows better.
  • Make the stack visible from anywhere in the screen.

Long Term Items

  • Video Documentation of how to use this?
  • Easier binary editing options .
  • Remote Debugging
  • Password Entry for remote sessions
  • Added HEX Editor
  • Add Plugin for inline assembly (Not sure if I will ever have time for this one.)

ghost avatar Nov 30 '18 07:11 ghost

Thank you for your interest. I am looking forward to all this happening! 😄

I have been basically the only developer on this project since I started it. There have been a few contributions here and there, but nothing too major like what you're outlining here. That is the reason I haven't made a TODO list; there is nobody to execute on it (though PRs are welcome). If I were to add to it, one thing I really want to do is move to the Monaco editor. Moving to Monaco would probably require a rewrite of all the inline assembly stuff, or at least require porting it to a Monaco-compatible API somehow.

I would suggest making an issue for adding OllyDB-like functionality. That should be its own issue with its own bullet list of tasks.

For gdbgui items I would suggest making individual issues. Anyone who wants to work them (including you) is welcome to. If what you are asking for is a prioritized list of issues let me know and I can add labels to the issues saying what priority they are.

There are already video demos on youtube, though more are always better so feel free to make more if you want! 😄 . Also remote debugging is already a feature.

All the other stuff sounds awesome and I would be happy to review PRs or answer any questions you have.

cs01 avatar Nov 30 '18 18:11 cs01

Hey Thanks for the hastily reply. I have one project I must finish .. I am wanting to help this project because I already see uses in this.

Which aspect of the Monaco Editor do you want? To me I think when we add functionality for inline assembly, then it would be useful.

Also do you have any documentation on how the backend is working ? How talking to GDB works?

ghost avatar Dec 01 '18 06:12 ghost

Which aspect of the Monaco Editor do you want? To me I think when we add functionality for inline assembly, then it would be useful.

  • Ability to edit and save code inline
  • Syntax highlighting
  • Large file support
  • Code completion
  • Jump to definition
  • Any other language services provided

These all come with Monaco but need a webworker. The monaco UI would have to be customized by gdbgui to add the inline assembly.

Also do you have any documentation on how the backend is working ? How talking to GDB works?

The backend is written entirely in Python. The I/O with gdb all occurs in a library called pygdbmi (I created it while making gdbgui). https://github.com/cs01/pygdbmi. You can see documentation on it at https://grassfedcode.com/pygdbmi/api/pygdbmi.html#module-pygdbmi.gdbcontroller.

I like the idea of creating a project roadmap/wishlist, so I'll create a new issue and add items to it there. Thank you!

cs01 avatar Dec 28 '18 04:12 cs01

Awesome. I am falling behind in my project .

I still have this on my todo list though .

ghost avatar Dec 28 '18 05:12 ghost

damn. I am a bad man.... I am getting cleaned up and hopefully should be able to help with certian things. I will share this with some friends and see if I can get some traction for you on this.

ghost avatar Mar 10 '19 19:03 ghost

I created https://github.com/cs01/gdbgui/issues/265

cs01 avatar Mar 24 '19 18:03 cs01