Current version

v1.10.4 (stable)


Main page
Archived news
Plugin SDK
Knowledge base
Contact info
Other projects


Blog Archive

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.)


This blog was originally open for comments when this entry was first posted, but was later closed and then removed due to spam and after a migration away from the original blog software. Unfortunately, it would have been a lot of work to reformat the comments to republish them. The author thanks everyone who posted comments and added to the discussion.