No Output from DBMON Using OutputDebugString While Debugging (160603)



The information in this article applies to:

  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Server 4.0

This article was previously published under Q160603

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


Modification Type:MajorLast Reviewed:8/8/2001
Keywords:KB160603