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.
 
 
 
 
 
 

69 lines
2.1 KiB

/*==========================================================================
*
* Copyright (C) 2001 Microsoft Corporation. All Rights Reserved.
*
* File: CallStack.h
* Content: Call stack tracking class
*
* History:
* Date By Reason
* ==== == ======
* 08/13/2001 masonb Created
*
***************************************************************************/
#ifndef __CALLSTACK_H__
#define __CALLSTACK_H__
#ifdef DBG
//**********************************************************************
// Constant definitions
//**********************************************************************
//
// Size of temp buffer to build strings into.
// If the call stack depth is increased, increase the size of the buffer
// to prevent stack corruption with long symbol names.
//
#define CALLSTACK_BUFFER_SIZE 8192
#define CALLSTACK_DEPTH 12
//**********************************************************************
// Macro definitions
//**********************************************************************
//**********************************************************************
// Structure definitions
//**********************************************************************
//**********************************************************************
// Variable definitions
//**********************************************************************
//**********************************************************************
// Function prototypes
//**********************************************************************
//**********************************************************************
// Class prototypes
//**********************************************************************
class CCallStack
{
public:
CCallStack(){}
~CCallStack(){}
void NoteCurrentCallStack( void );
void GetCallStackString( TCHAR *const pOutputString ) const;
private:
const void* m_CallStack[CALLSTACK_DEPTH];
const void *GetStackTop( void ) const;
const void *GetStackBottom( void ) const;
};
#endif // DBG
#endif // __CALLSTACK_H__