I'm often surprised that people haven't come across this wonderful ex-System Internals (now Microsoft) tool.
Debug view allows you to see debug messages written by any application currently running compiled with debug symbols. To .NET developers, those would be the messages you can write out with System.Diagnostics.Debug.WriteLine();
Why would you want to do that? Well... if you grace your application with a healthy dose of debug messages, you can monitor the performance of applications whilst they're deployed or in a production environment without having to break out the debugger. Often a nice quick way to see what a system service is up to, or why your web application appears to be misbehaving.
I currently make use of a combination of this and some IOC magic on a daily basis to monitor in-development services as part of a distributed system (hint: create a wrapper class for writing output messages, then implement it in various ways, Console.WriteLine, Debug.Writeline, etc, even a null implementation to save performance in production environments...) and genuinely don't know what I'd do without it.
And hell, if you're really bored it'll let you know which Windows components are running with debug symbols compiled in (ActiveSync, I'm looking at you...).
Now Playing: Zimmers Hole - Flight Of The Knight Bat