No Output from DBMON Using OutputDebugString While Debugging

ID: Q160603


The information in this article applies to:


SYMPTOMS

DBMON is a utility that can be used to monitor output from an application that calls the OutputDebugString function when the application is not being run from within a debugger.

The problem is that no output is available when the application is being run from within a service.


CAUSE

In OutputDebugString, the DBWinMutex is created with a NULL SECURITY_ATTRIBUTES. This implies a default security descriptor, which means the ACL of the security context that OutputDebugString is called within. However, this means that this mutex can only be used within the security context that first created this mutex, and no other security context can use OutputDebugString to talk to DBMON. The problem is really in the first code to call OutputDebugString, when running from a service running under another security context.


RESOLUTION

Apply Windows NT 4.0 Service Pack 2.


STATUS

Microsoft has confirmed this to be a problem in Windows NT version 4.0. This problem was corrected in the latest Windows NT 4.0 U.S. Service Pack. For information on obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

S E R V P A C K

Additional query words: prodnt debugging


Keywords          : kbtool ntsecurity kbbug4.00 kbfix4.00.sp2 NTSrvWkst ntutil 
Version           : 4.0
Platform          : winnt 
Issue type        : 

Last Reviewed: February 2, 1999