In case you’ve never happened upon it, WinDBG does indeed support tab completion. Not only does it support it in the traditional sense, but it also supports wild cards. So you can do things such as:
bp nt!*purge<tab>
And keep hitting tab until you find the routine you wanted. Shift+Tab will even scroll backwards through the results if you were a little overeager and went too far.
One interesting thing that I’ve noticed is that you can also sometimes tab complete the module name, which is pretty handy. So if I’m setting a breakpoint in mydriver, I can just do:
bp myd<tab>
And get the right module.
But note that I did say, “sometimes”. The module tab completion appears to only work when the current instruction pointer maps to a module that you have full PDBs for. This makes no sense to me and I sent an inquiry about it to the WinDBG alias last week, but haven’t heard anything back on that.