UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMicrosoftPlatformStackWalk Struct Reference

#include <MicrosoftPlatformStackWalk.h>

+ Inheritance diagram for FMicrosoftPlatformStackWalk:

Static Protected Member Functions

static CORE_API bool ExtractInfoFromModule (void *ProcessHandle, void *ModuleHandle, FStackWalkModuleInfo &OutInfo)
 
static CORE_API int32 CaptureStackTraceInternal (uint64 *OutBacktrace, uint32 MaxDepth, void *Context, void *ThreadHandle, uint32 *OutDepth)
 
- Static Protected Member Functions inherited from FGenericPlatformStackWalk
static CORE_API bool WantsDetailedCallstacksInNonMonolithicBuilds ()
 

Additional Inherited Members

- Public Types inherited from FGenericPlatformStackWalk
typedef FGenericPlatformStackWalk Base
 
- Static Public Member Functions inherited from FGenericPlatformStackWalk
static CORE_API void Init ()
 
static bool InitStackWalking ()
 
static bool InitStackWalkingForProcess (const FProcHandle &Process)
 
static CORE_API bool ProgramCounterToHumanReadableString (int32 CurrentCallDepth, uint64 ProgramCounter, ANSICHAR *HumanReadableString, SIZE_T HumanReadableStringSize, FGenericCrashContext *Context=nullptr)
 
static CORE_API bool SymbolInfoToHumanReadableString (const FProgramCounterSymbolInfo &SymbolInfo, ANSICHAR *HumanReadableString, SIZE_T HumanReadableStringSize)
 
static CORE_API bool SymbolInfoToHumanReadableStringEx (const FProgramCounterSymbolInfoEx &SymbolInfo, FString &out_HumanReadableString)
 
static void ProgramCounterToSymbolInfo (uint64 ProgramCounter, FProgramCounterSymbolInfo &out_SymbolInfo)
 
static void ProgramCounterToSymbolInfoEx (uint64 ProgramCounter, FProgramCounterSymbolInfoEx &out_SymbolInfo)
 
static CORE_API uint32 CaptureStackBackTrace (uint64 *BackTrace, uint32 MaxDepth, void *Context=nullptr)
 
static CORE_API uint32 CaptureThreadStackBackTrace (uint64 ThreadId, uint64 *BackTrace, uint32 MaxDepth, void *Context=nullptr)
 
CORE_API static FORCENOINLINE void StackWalkAndDump (ANSICHAR *HumanReadableString, SIZE_T HumanReadableStringSize, int32 IgnoreCount, void *Context=nullptr)
 
static CORE_API void StackWalkAndDump (ANSICHAR *HumanReadableString, SIZE_T HumanReadableStringSize, void *ProgramCounter, void *Context=nullptr)
 
static CORE_API TArray< FProgramCounterSymbolInfoGetStack (int32 IgnoreCount, int32 MaxDepth=100, void *Context=nullptr)
 
static void ThreadStackWalkAndDump (ANSICHAR *HumanReadableString, SIZE_T HumanReadableStringSize, int32 IgnoreCount, uint32 ThreadId)
 
static CORE_API void StackWalkAndDumpEx (ANSICHAR *HumanReadableString, SIZE_T HumanReadableStringSize, int32 IgnoreCount, uint32 Flags, void *Context=nullptr)
 
static CORE_API void StackWalkAndDumpEx (ANSICHAR *HumanReadableString, SIZE_T HumanReadableStringSize, void *ProgramCounter, uint32 Flags, void *Context=nullptr)
 
static FORCEINLINE int32 GetProcessModuleCount ()
 
static FORCEINLINE int32 GetProcessModuleSignatures (FStackWalkModuleInfo *ModuleSignatures, const int32 ModuleSignaturesSize)
 
static CORE_API TMap< FName, FString > GetSymbolMetaData ()
 
static CORE_API void CopyVirtualPathToLocal (char *Dest, int32 DestCapacity, const char *Source)
 

Detailed Description

Microsoft-shared implementation of the stack walking.

Member Function Documentation

◆ CaptureStackTraceInternal()

int32 FMicrosoftPlatformStackWalk::CaptureStackTraceInternal ( uint64 OutBacktrace,
uint32  MaxDepth,
void Context,
void ThreadHandle,
uint32 OutDepth 
)
staticprotected

Helper for Microsoft platforms to capture a stacktrace for a specific thread. If the thread is not the calling thread, it should already have been suspended by the calling code.

Parameters
OutBackTraceArray to write backtrace to
MaxDepthMaximum depth to walk - needs to be less than or equal to array size
ContextPointer to a CONTEXT structure containing thread context info (registers, instruction ptr, etc)
ThreadHandleHANDLE for the thread whose stack should be walked.
OutDepthNumber of stack frames returned.
Returns
EXCEPTION_EXECUTE_HANDLER

◆ ExtractInfoFromModule()

bool FMicrosoftPlatformStackWalk::ExtractInfoFromModule ( void ProcessHandle,
void ModuleHandle,
FStackWalkModuleInfo OutInfo 
)
staticprotected

The documentation for this struct was generated from the following files: