Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hi we are installing x86 application as a service on windows 2008 R2 which is using OutputDebugString for debug messages.

The problem is that DebugView utility catches the debug output from the application only when application is run from console in elevated mode and not as a service.

I haven't found any KB that talks directly about this limitation of OutputDebugString in windows 2008 R2.

Anyone encountered such a problem? Is there such limitation really exists?

UPD: We are using terminal services to connect to server if that important

share|improve this question

UPDATE: This seems to be a fix for the issue Its a special kernel mode driver that creates the mutex correctly.

Windows Debuggers and OutputDebugString uses a mutex, a shared memory buffer and two events to pass the messages back and forth. It seems that sometimes a permission error can occur when trying to read the messages. Perhaps this is happening when writing the messages.

I would think that profiling the application with dependency walker would be the best way to find the CreateMutex call short of stepping through the disassembly with WinDbg.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.