List of pet peeves in no particular order
-
No easy way to switch between hex and decimal views. Before you could
right click and select hex or decimal. The closest thing I could find is
doing “.force_radix_output 1” and “.enable_long_status”. I would like this
to be a menu item, or a check box under options. -
Right click now inserts text into the command buffer instead of popping
up a menu asking what you would like to do (ie “Set breakpoint”, “Set
current instruction pointer to here”, etc…") EVEN when it is not the
currently active window (I can see it if it’s the active window and you
right click in it, but I still expected the “copy, cut, paste” menu) -
Using the mouse scroll button scrolls the active window, not the window
the mouse is over. Most other applications scroll the window the mouse is
in, not the active window. I don’t know what the spec calls for but I would
like to scroll the locals window without changing my command typing in the
command window (ie trying to set a memory location and then having to scroll
and look for it) -
Docking window hell. though once I get it set up like I want, it is
fine, but I fight with it EVERY time I attach to a new debuggee target.
'nuff said -
When a symbol file gets corrupt, there is no way of knowing this unless
you do ‘.sym noisy’ (which took forever to lookup in the help, this should
be a menu item as wrong symbols is the number one problem). If the files
are corrupt (and you know they are because you say so in noisy mode), try re
downloading or tell it to the developer. It took me forever to figure out
why the symbols for ntoskrnl were not loading only on one memory dump. -
Since you know a NTSTATUS is a NTSTATUS, how about displaying the
symbolic name next to it? I keep having to open ntstatus.h (or error
lookup) to get the text name which usually tells me why it failed. You only
have to do for the common ones such as the ones in ntstatus.h and
ntiologc.h. ie:
Status NTSTATUS 0xc0000001 STATUS_UNSUCCESSFUL -
This may be a little harder, but when single stepping it would be nice if
it didn’t clutter my command window with useless assembly (as its useless
with out the registers at the time) -
For kernel debugging it would be nice if there was some way to determine
IRQL. !irql does not always work. !pcr displays it but I have to look it
up every time. Maybe add it to the !thread command? -
When displaying thread information, it would be nice to display if apc’s
are enabled (kernel and special) and any apc’s that are waiting for it (ie
the apc queue). If there is a way to do this even with esoteric command
line now, I would like to know. -
Conditional breakpoints are really slow. I don’t know if there is
anything you can do on this. -
!irpfind is really slow or doesn’t work. I don’t know why, but
sometimes when I do !irpfind it says scanning all of paged, nonpaged memory,
and then finishes (several hours later) and NO irps are displayed, even
though I can see outstanding irps in the !thread command. Happens mostly
when verifier is on. -
Minidumps. If I get a minidump from a customer windbg NEVER finds the
symbols for it. I have to call the customer back and have them email me the
ntoskrnl.exe and ntdll.dll files. Usually this is because they are running
a hotfix and don’t have the standard files. I maintain a list of these but
when the customer is bsod it’s a pain. If you know the guid/checksum, why
cant the symbol server provide these files?
That’s all I can think of for now
Thanks,
Rob