Please Stop Spamming the Debugger Output
March 30th, 2006
When I’m writing a GUI or a multithreaded server application, I make heavy use of OutputDebugString (and various API’s that map to it). This is a very useful tool when the act of stepping through an application has side effects that drastically change the experiment. Unfortunately, it looks everyone else likes this API, too.
I try to be courteous and pay my developer taxes here—when my application is deployed to customers, rest assured that it will not be writing debugger output by default. I put my calls to OutputDebugString
on a switch in one way or another, or I just compile them out in release mode.
(This is not just being kind to anyone trying to debug something else on a machine running my application. I need to do this to avoid embarrassment. I curse quite a bit in my traces.)
Not everybody is taking the trouble to do this. To wit:
If I open up dbmon or debugview and wave my mouse around a little, i’m inundated with messages from these applications:
- Visual Studio 2005 [by far the worst].
- Visual SourceSafe [a close second place].
- Trillian
- The remnants of Symantec products that I have not yet succeeded in disabling.
I find it particularly annoying that my development tools are hampering my development in this way.