CDebugReportHook Class

Use this class to send debug reports to a named pipe.

class CDebugReportHook

Members

Public Constructors

Name

Description

CDebugReportHook::CDebugReportHook

Calls SetPipeName, SetTimeout, and SetHook.

CDebugReportHook::~CDebugReportHook

Calls CDebugReportHook::RemoveHook.

Public Methods

Name

Description

CDebugReportHook::CDebugReportHookProc

(Static) The custom reporting function that is hooked into the C run-time debug reporting process.

CDebugReportHook::RemoveHook

Call this method to stop sending debug reports to the named pipe and restore the previous report hook.

CDebugReportHook::SetHook

Call this method to start sending debug reports to the named pipe.

CDebugReportHook::SetPipeName

Call this method to set the machine and name of the pipe to which the debug reports will be sent.

CDebugReportHook::SetTimeout

Call this method to set the time in milliseconds that this class will wait for the named pipe to become available.

Remarks

Create an instance of this class in debug builds of your services or applications to send debug reports to a named pipe. Debug reports are generated by calling _CrtDbgReport or using a wrapper for this function such as the ATLTRACE and ATLASSERT macros.

Use of this class allows you to interactively debug components running in non-interactive window stations.

Note that debug reports are sent using the underlying security context of the thread. Impersonation is temporarily disabled so that debug reports can be viewed in situations where impersonation of low privilege users is taking place, such as in web applications.

Requirements

Header: atlutil.h

See Also

Other Resources

ATL Classes