Handmade Network»Forums»Work-in-Progress
Nikita Smith
45 posts / 1 project
None
Windows Debugger
Edited by Nikita Smith on Reason: fixed download link
Hello folks! I am not sure if this is the right place to do this thing but here it goes.

Some time ago my debugger was here on the project list, but unfortunately I had to focus on other
things and project went under the water. Last October I finally got a chance to revive it and since
then I have managed to get debugger into a good shape. A lot of time was spent on making sure that current
set of features worked with all of the edge cases, like stepping though the exceptions, making sure that PDB parser
is compatible with recent versions of the MSVC C/C++ compilers, and so on. Also I have manged to
replace the DIA(Debug Interface Access) SDK that was used to read PDB files.
I knew from the start of the project that eventually I will have to replace that SDK, because
that is a huge black-box that was dragging the project down. I kid you not, but it took me same
amount of time to write my own parser as it took me to integrate that SDK. Microsoft never stops
to amaze! Next on the list was to replace the StackWalk64 from the dbghelp.dll which is 1mb in size,
and that is a lot code to keep around just for one call. To my surprise it is very easy to write a stack
unwinder for win64.

Last couple days I have spent on making sure that debugger works not only on my machine.
I have tested on three different setups and couple virtual boxes and it worked fine.
This means that any obvious mistakes were eliminated and it can be shared with others.
You can leave your feedback here in comments or just email me [email protected].

You can find a little demo that I have put together here on yotuube,
and link to download the standalone executable. Thank you.
Jeremiah Goerdt
208 posts / 1 project
Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
Windows Debugger
Great demo!

What's on the list to do before this thing is shippable?
Nikita Smith
45 posts / 1 project
None
Windows Debugger
Thanks! Right now at the top of the list there are several things: data breakpoints, value editor for the inspector, and disassembler(right now it just dumps instructions).
Chen
102 posts / 2 projects
Some guy trying to make some video game.
Windows Debugger
Wow that's sick, I'm definitely going to try it out.

On a side note, If Cdbg is coming back, shouldn't you update Cdbg's status on the project page? That way people can see the project is alive again and people can comment directly on your project forum.
4 posts
Windows Debugger
Edited by mapper on
Wow, this is really nice...
I haven't spent much time with the debugger yet, but I already have a few minor suggestions.

1. CDBG sounds a lot like CGDB, which is a very popular debugger for linux (a curses front-end to GDB). I would recommend picking a new name, lest people confuse the two.
2. It's probably worth putting in the README that <backtick> opens the console, and <escape> returns to the debugger.
3. Just caught a typo. [wdir] returns "Wroking directory: ...", where it should say "Working directory: ..."
4. I cannot step into any functions.
5. The active line is usually about 4-steps behind where the program is actually executing...
For example:
1
2
3
4
> 121     swapbuffers(dc); // nothing happens
  122     blahblah();
  123     blah++;
> 124 }                    // buffer is actually swapped (or whatever else I did 4 lines ago)


I'm really looking forward to playing with this more, thanks a lot!
1 posts
Windows Debugger
Edited by hollowshrine on
mapper

4. I cannot step into any functions.

It happens when you build with incremental mode.
"/link -incremental:no" to disable it.
I've reported this bug a while ago.