¶The NT system debugger (NTSD)
Stupid Windows trick of the day.
If you're a developer, you've probably found yourself on a system where a program is hanging or crashing, but don't have a debugger handy. Worse, if you're stuck in an area with no internet access — say, on a laptop in a moving car, like I was today — you can't download Debugging Tools for Windows either. So what do you do?
Use the NT system debugger (NTSD.exe). It's a bit raw, being a simple command-line debugger, but all you need to know is ~ to list threads, ~n prefix to select a thread or ~* prefix for all threads, and kb to dump a thread stack. Oh, and q for quit (always important, although only vi makes this hard). What's great about NTSD is that it's installed on every Windows XP system, so it's always available.
(In case you're wondering, I was debugging a crash in WinDVD 3's audio decoder, which turned out to be caused by it trying to use 3DNow! instructions on a Pentium M CPU. Serves me right for grabbing a random DVD player software install disc while heading out the door.)