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.
 
 
 
 
 
 

43 lines
1.1 KiB

#include "windows.h"
#define KDEXT_64BIT
#include "wdbgexts.h"
#include "stdlib.h"
#include "stdio.h"
#include "fusiondbgext.h"
DECLARE_API( actctxstack )
{
try
{
ULONG64 ulTebAddress = 0;
ULONG ulStackFlags = 0;
ULONG64 ulTopOfRtlFrameList = 0;
ULONG ulNextCookie = 0;
GetTebAddress( &ulTebAddress );
GetFieldValue( ulTebAddress, "nt!TEB", "ActivationContextStack.Flags", ulStackFlags );
GetFieldValue( ulTebAddress, "nt!TEB", "ActivationContextStack.ActiveFrame", ulTopOfRtlFrameList );
GetFieldValue( ulTebAddress, "nt!TEB", "ActivationContextStack.NextCookieSequenceNumber", ulNextCookie );
dprintf(
"Current activation stack information in TEB %p:\n"
" Flags : 0x%08lx\n"
" ActiveFrame : 0x%p\n"
" NextCookieSequence : 0x%08lx\n",
ulTebAddress,
ulStackFlags,
ulTopOfRtlFrameList,
ulNextCookie);
DumpActCtxStackFullStack( ulTopOfRtlFrameList );
}
catch (const COutOfMemory &)
{
dprintf("Out of memory\n");
}
}