I created a basic debugger for any application (I was bored) for the community. There seems to be a lack of GOOD Direct-X debuggers so I'll be working on a module for that hopefully. It needs a lot of work but the base and most of the necessary logic is already implemented. The debugger component is a stand-alone module and can be integrated with any GUI or console or whatever you choose.. I've written a basic GUI that utilizes the debugger module.
I've ran out of project names so.. don't worry about the name; there isn't much of a story behind it anyway.
Its source will be located at: https://github.com/Brandon-T/Scarlette
The actual debugger components & interpretation of the debugged data:
https://github.com/Brandon-T/Scarlet...r/Debugger.hxx
https://github.com/Brandon-T/Scarlet...r/Debugger.cxx
https://github.com/Brandon-T/Scarlet...indow.cxx#L494
TODO:
Add button to allow you to step through the assembly (code is already there for stepping through).
Add button to allow you to continue (code is already there for continuing).
Add checkbox so you can enable/disable a break-point (code is already there for enabling/disabling).
Mimic client function calls (no code in place).
Finish menus.
Stack walking & displaying line numbers if source is available (most likely will do this last).
What it currently does:
Pauses client on breakpoint.
Allows user to continue when a break-point is hit.
Allows user to step-in when a break-point is hit.
Displays necessary registers.
Has client area for mimicking client calls such as Drawing, Textures, Models, etc..
Has API for communicating with client.
View Threads, Child Processes, DLL's/Modules, Exceptions thrown, etc..
View information on all of the above.
Debug both x64 and x86/x32 processes.
Pretty cool huh? Sample screenshot below..
http://i.imgur.com/eWdhF6T.png
Mimicking Client Draw calls, viewing information on modules, threads, registers, etc:
.
.
http://i.imgur.com/ZyLO0sX.png
Exception handling, Breakpoint handling, console debugging: