Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
debug.c
Abstract:
Various helpful debugging functions
Author:
Based on code by Mike Tsang (MikeTs) Stephane Plante (Splante)
Environment:
User mode only
Revision History:
--*/
#include "pch.h"
ULONG globalDebugIndentLevel = 0; ULONG globalVerbosityLevel = 0; UCHAR DebugMessageBuffer[2048];
VOID IndentProcedure( VOID ) { ULONG i;
for (i = 0; i < globalDebugIndentLevel; i++) {
if (GlobalPrintFnc != NULL) {
GlobalPrintFnc("| ");
} else {
fprintf( stderr, "| ");
}
} }
VOID DebugEnterProcedure( ULONG VerbosityLevel, PCCHAR Format, ... ) /*++
Routine Description:
This routine handles displaying of information when a procedure is entered
Arguments:
Verbosity - We have to be at this verbosity level to display a string Format - String to print ... - Arguments
Return Value:
None
--*/ { va_list marker;
if (VerbosityLevel <= globalVerbosityLevel) {
IndentProcedure(); va_start( marker, Format ); if (GlobalPrintFnc != NULL) {
vsprintf( DebugMessageBuffer, Format, marker ); GlobalPrintFnc( DebugMessageBuffer );
} else {
vfprintf( stderr, Format, marker ); fflush( stderr );
} va_end ( marker );
} globalDebugIndentLevel++; }
VOID DebugExitProcedure( ULONG VerbosityLevel, PCCHAR Format, ... ) /*++
Routine Description:
This routine handles displaying of information when a procedure is exited
Arguments:
Verbosity - We have to be at this verbosity level to display a string Format - String to print ... - Arguments
Return Value:
None
--*/ { va_list marker;
globalDebugIndentLevel--; if (VerbosityLevel <= globalVerbosityLevel) {
IndentProcedure(); va_start( marker, Format ); if (GlobalPrintFnc != NULL) {
vsprintf( DebugMessageBuffer, Format, marker ); GlobalPrintFnc( DebugMessageBuffer );
} else {
vfprintf( stderr, Format, marker ); fflush( stderr );
} va_end ( marker );
}
}
VOID DebugPrintProcedure( ULONG VerbosityLevel, PCCHAR Format, ... ) /*++
Routine Description:
This routine handles displaying of information when a procedure is exited
Arguments:
Verbosity - We have to be at this verbosity level to display a string Format - String to print ... - Arguments
Return Value:
None
--*/ { va_list marker;
if (VerbosityLevel <= globalVerbosityLevel) {
IndentProcedure(); va_start( marker, Format ); if (GlobalPrintFnc != NULL) {
vsprintf( DebugMessageBuffer, Format, marker ); GlobalPrintFnc( DebugMessageBuffer );
} else {
vfprintf( stderr, Format, marker ); fflush( stderr );
} va_end ( marker );
} }
|