FGenericPlatformStackWalk

Generic implementation for most platforms

Windows
MacOS
Linux

Inheritance Hierarchy

FGenericPlatformStackWalk

FUnixPlatformStackWalk

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/GenericPlatform/GenericPlatformStackWalk.h

Include

#include "GenericPlatform/GenericPlatformStackWalk.h"

Syntax

struct FGenericPlatformStackWalk

Remarks

Generic implementation for most platforms

Functions

Name Description

Public function Static

uint32

 

CaptureStackBackTrace

(
    uint64* BackTrace,
    uint32 MaxDepth,
    void* Context
)

Capture a stack backtrace and optionally use the passed in exception pointers.

Public function Static

uint32

 

CaptureThreadStackBackTrace

(
    uint64 ThreadId,
    uint64* BackTrace,
    uint32 MaxDepth
)

Capture a stack backtrace for a specific thread.

Public function Static

int32

 

GetProcessModuleCount()

Returns the number of modules loaded by the currently running process.

Public function Static

int32

 

GetProcessModuleSignatures

(
    FStackWalkModuleInfo* ModuleSi...,
    const int32 ModuleSignaturesSize
)

Gets the signature for every module loaded by the currently running process.

Public function Static

TArray< FPro...

 

GetStack

(
    int32 IgnoreCount,
    int32 MaxDepth,
    void* Context
)

Walks the stack and updates the Stack array with the symbol information for each line in the stack.

Public function Static

TMap< FName,...

 

GetSymbolMetaData()

Gets the meta-data associated with all symbols of this target.

Public function Static

void

 

Init()

Initializes options related to stack walking from ini, i.e. how detailed the stack walking should be, performance settings etc.

Public function Static

bool

 

InitStackWalking()

Initializes stack traversal and symbol.

Public function Static

bool

 

InitStackWalkingForProcess

(
    const FProcHandle& Process
)

Like InitStackWalking but initializes stack walking for another process.

Public function Static

bool

 

ProgramCounterToHumanReadableString

(
    int32 CurrentCallDepth,
    uint64 ProgramCounter,
    ANSICHAR* HumanReadableString,
    SIZE_T HumanReadableStringSize,
    FGenericCrashContext* Context
)

Converts the passed in program counter address to a human readable string and appends it to the passed in one.

Public function Static

void

 

ProgramCounterToSymbolInfo

(
    uint64 ProgramCounter,
    FProgramCounterSymbolInfo& out_Sym...
)

Converts the passed in program counter address to a symbol info struct, filling in module and filename, line number and displacement.

Public function Static

void

 

StackWalkAndDump

(
    ANSICHAR* HumanReadableString,
    SIZE_T HumanReadableStringSize,
    int32 IgnoreCount,
    void* Context
)

Walks the stack and appends the human readable string to the passed in one.

Public function Static

void

 

StackWalkAndDumpEx

(
    ANSICHAR* HumanReadableString,
    SIZE_T HumanReadableStringSize,
    int32 IgnoreCount,
    uint32 Flags,
    void* Context
)

Walks the stack and appends the human readable string to the passed in one.

Public function Static

bool

 

SymbolInfoToHumanReadableString

(
    const FProgramCounterSymbolInfo& S...,
    ANSICHAR* HumanReadableString,
    SIZE_T HumanReadableStringSize
)

Converts the passed in symbol information to a human readable string and appends it to the passed in one.

Public function Static

bool

 

SymbolInfoToHumanReadableStringEx

(
    const FProgramCounterSymbolInfoEx&...,
    FString& out_HumanReadableString
)

Same as above, but can be used with external applications.

Public function Static

void

 

ThreadStackWalkAndDump

(
    ANSICHAR* HumanReadableString,
    SIZE_T HumanReadableStringSize,
    int32 IgnoreCount,
    uint32 ThreadId
)

Walks the stack for the specified thread and appends the human readable string to the passed in one.

Protected function Static

bool

 

WantsDetailedCallstacksInNonMonolithicBuilds()

Returns true if non-monolithic builds should produce full callstacks in the log (and load all debug symbols)

Classes

Name

Description

Public struct

EStackWalkFlags

Typedefs

Name

Description

Base

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss