test: stktrace.h Source File

Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

# stktrace.h

Go to the documentation of this file.

    00001 /*++
    00002
    00003 Copyright (c) 1992  Microsoft Corporation
    00004
    00005 Module Name:
    00006
    00007     stktrace.h
    00008
    00009 Abstract:
    00010
    00011     This header file defines the format of the stack trace data base
    00012     used to track caller backtraces.  This is a header file so debugger
    00013     extensions can lookup entries in the database remotely.
    00014
    00015 Author:
    00016
    00017     Steve Wood (stevewo) 13-Sep-1992
    00018
    00019 Revision History:
    00020
    00021 --*/
    00022
    00023
    00024 typedef struct _RTL_STACK_TRACE_ENTRY {
    00025     struct _RTL_STACK_TRACE_ENTRY *HashChain;
    00026     ULONG TraceCount;
    00027     USHORT Index;
    00028     USHORT Depth;
    00029     PVOID BackTrace[ MAX_STACK_DEPTH ];
    00030 } RTL_STACK_TRACE_ENTRY, *PRTL_STACK_TRACE_ENTRY;
    00031
    00032 typedef struct _STACK_TRACE_DATABASE {
    00033     union {
    00034         RTL_CRITICAL_SECTION CriticalSection;
    00035         ERESOURCE Resource;
    00036     } Lock;
    00037
    00038     PRTL_ACQUIRE_LOCK_ROUTINE AcquireLockRoutine;
    00039     PRTL_RELEASE_LOCK_ROUTINE ReleaseLockRoutine;
    00040     PRTL_OKAY_TO_LOCK_ROUTINE OkayToLockRoutine;
    00041
    00042     BOOLEAN PreCommitted;
    00043     BOOLEAN DumpInProgress;
    00044     PVOID CommitBase;
    00045     PVOID CurrentLowerCommitLimit;
    00046     PVOID CurrentUpperCommitLimit;
    00047     PCHAR NextFreeLowerMemory;
    00048     PCHAR NextFreeUpperMemory;
    00049     ULONG NumberOfEntriesLookedUp;
    00050     ULONG NumberOfEntriesAdded;
    00051     PRTL_STACK_TRACE_ENTRY *EntryIndexArray;    // Indexed by [-1 .. -NumberOfEntriesAdded]
    00052     ULONG NumberOfBuckets;
    00053     PRTL_STACK_TRACE_ENTRY Buckets[ 1 ];
    00054 } STACK_TRACE_DATABASE, *PSTACK_TRACE_DATABASE;
    00055
    00056 PSTACK_TRACE_DATABASE
    00057 RtlpAcquireStackTraceDataBase( VOID );
    00058
    00059 VOID
    00060 RtlpReleaseStackTraceDataBase( VOID );