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

#include <IOSPlatformCrashContext.h>

+ Inheritance diagram for FIOSCrashContext:

Public Member Functions

 FIOSCrashContext (ECrashContextType InType, const TCHAR *InErrorMessage)
 
void CopyMinidump (char const *OutputPath, char const *InputPath) const
 
void GenerateInfoInFolder (char const *const InfoFolder, bool bIsEnsure=false) const
 
void GenerateCrashInfo () const
 
void GenerateEnsureInfo () const
 
FString CreateCrashFolder () const
 
- Public Member Functions inherited from FApplePlatformCrashContext
 FApplePlatformCrashContext (ECrashContextType InType, const TCHAR *InErrorMessage)
 
 ~FApplePlatformCrashContext ()
 
void InitFromSignal (int32 InSignal, siginfo_t *InInfo, void *InContext)
 
int32 ReportCrash (void) const
 
- Public Member Functions inherited from FGenericCrashContext
CORE_API FGenericCrashContext (ECrashContextType InType, const TCHAR *ErrorMessage)
 
virtual ~FGenericCrashContext ()
 
CORE_API void SerializeContentToBuffer () const
 
const FString & GetBuffer () const
 
CORE_API void GetUniqueCrashName (TCHAR *GUIDBuffer, int32 BufferSize) const
 
CORE_API const bool IsFullCrashDump () const
 
virtual CORE_API void SerializeAsXML (const TCHAR *Filename) const
 
template<typename Type >
void AddCrashProperty (const TCHAR *PropertyName, const Type &Value) const
 
void SetCrashedProcess (const FProcHandle &Process)
 
void SetCrashedThreadId (uint32 InId)
 
CORE_API void SetNumMinidumpFramesToIgnore (int32 InNumMinidumpFramesToIgnore)
 
CORE_API void CapturePortableCallStack (void *ErrorProgramCounter, void *Context)
 
CORE_API void CaptureThreadPortableCallStack (const uint64 ThreadId, void *Context)
 
CORE_API void CapturePortableCallStack (int32 NumStackFramesToIgnore, void *Context)
 
virtual CORE_API void SetPortableCallStack (const uint64 *StackFrames, int32 NumStackFrames)
 
virtual CORE_API void GetPortableCallStack (const uint64 *StackFrames, int32 NumStackFrames, TArray< FCrashStackFrame > &OutCallStack) const
 
virtual CORE_API void CaptureModules ()
 
virtual CORE_API void GetModules (TArray< FStackWalkModuleInfo > &OutModules) const
 
virtual CORE_API void AddPortableThreadCallStacks (TConstArrayView< FThreadCallStack > Threads)
 
virtual CORE_API void AddPortableThreadCallStack (uint32 ThreadId, const TCHAR *ThreadName, const uint64 *StackFrames, int32 NumStackFrames)
 
virtual CORE_API void CopyPlatformSpecificFiles (const TCHAR *OutputDirectory, void *Context)
 
ECrashContextType GetType () const
 

Static Public Member Functions

static void SetGenerateScreenshotFunc (const TFunction< void(char const *const InfoFolder)> &InGenerateScreenshotFunc)
 
- Static Public Member Functions inherited from FApplePlatformCrashContext
static void CreateExceptionInfoString (int32 Signal, siginfo_t *Info)
 
static void ConvertMinidump (char const *OutputPath, char const *InputPath)
 
static void WriteLine (int ReportFile, const ANSICHAR *Line=NULL)
 
static void WriteUTF16String (int ReportFile, const TCHAR *UTFString4BytesChar, uint32 NumChars)
 
static void WriteUTF16String (int ReportFile, const TCHAR *UTFString4BytesChar)
 
static void WriteLine (int ReportFile, const TCHAR *Line)
 
static ANSICHARItoANSI (uint64 Val, uint64 Base, uint32 Len=0)
 
static TCHARItoTCHAR (uint64 Val, uint64 Base, uint32 Len=0)
 
- Static Public Member Functions inherited from FGenericCrashContext
static CORE_API void Initialize ()
 
static CORE_API void InitializeFromContext (const FSessionContext &Context, const TCHAR *EnabledPlugins, const TCHAR *EngineData, const TCHAR *GameData, const TCHAR *FilePathData, const FGPUBreadcrumbsSharedContext *GPUBreadcrumbs)
 
static CORE_API const FSessionContextGetCachedSessionContext ()
 
static CORE_API FString GetGameName ()
 
static bool IsInitalized ()
 
static bool IsOutOfProcessCrashReporter ()
 
static uint32 GetOutOfProcessCrashReporterProcessId ()
 
static void SetOutOfProcessCrashReporterPid (uint32 ProcessId)
 
static CORE_API void SetOutOfProcessCrashReporterExitCode (int32 ExitCode)
 
static CORE_API TOptional< int32GetOutOfProcessCrashReporterExitCode ()
 
static CORE_API FString GetTempSessionContextFilePath (uint64 ProcessID)
 
static CORE_API void CleanupTempSessionContextFiles (const FTimespan &ExpirationAge)
 
static CORE_API void SerializeSessionContext (FString &Buffer)
 
template<typename Type >
static void AddCrashProperty (FString &Buffer, const TCHAR *PropertyName, const Type &Value)
 
static CORE_API void AppendEscapedXMLString (FString &OutBuffer, FStringView Text)
 
static CORE_API void AppendEscapedXMLString (FStringBuilderBase &OutBuffer, FStringView Text)
 
static CORE_API void AppendPortableCallstack (FString &OutBuffer, TConstArrayView< FCrashStackFrame > StackFrames)
 
static CORE_API FString UnescapeXMLString (const FString &Text)
 
static CORE_API const TCHARGetCrashTypeString (ECrashContextType Type)
 
static CORE_API FString GetCrashGameName ()
 
static CORE_API const TCHARGetCrashConfigFilePath ()
 
static CORE_API const TCHARGetCrashConfigFolder ()
 
static CORE_API void PurgeOldCrashConfig ()
 
static CORE_API void SetEpicAccountId (const FString &EpicAccountId)
 
static CORE_API void ResetEngineData ()
 
static FEngineDataResetDelegateOnEngineDataResetDelegate ()
 
static CORE_API void SetEngineData (const FString &Key, const FString &Value)
 
static CORE_API void SetGPUBreadcrumbs (FGPUBreadcrumbCrashData &&Data)
 
static FEngineDataSetDelegateOnEngineDataSetDelegate ()
 
static CORE_API const TMap< FString, FString > & GetEngineData ()
 
static CORE_API void ResetGameData ()
 
static FGameDataResetDelegateOnGameDataResetDelegate ()
 
static CORE_API void SetGameData (const FString &Key, const FString &Value)
 
static FGameDataSetDelegateOnGameDataSetDelegate ()
 
static CORE_API const TMap< FString, FString > & GetGameData ()
 
static CORE_API void AddPlugin (const FString &PluginDesc)
 
static CORE_API void AddFile (const FString &AbsoluteSourcePath)
 
static CORE_API FString DumpLog (const FString &CrashFolderAbsolute)
 
static CORE_API void DumpAdditionalContext (const TCHAR *CrashFolderAbsolute)
 
static CORE_API void CopySharedCrashContext (FSharedCrashContext &Dst)
 
static CORE_API void SetMemoryStats (const FPlatformMemoryStats &MemoryStats)
 
static CORE_API void SetAnticheatProvider (const FString &AnticheatProvider)
 
static CORE_API void OnThreadStuck (uint32 ThreadId)
 
static CORE_API void OnThreadUnstuck (uint32 ThreadId)
 
static CORE_API bool CreateCrashReportDirectory (const TCHAR *CrashGUIDRoot, int32 CrashIndex, FString &OutCrashDirectoryAbsolute)
 
static CORE_API void SetEngineExit (bool bIsRequestExit)
 
static FAdditionalCrashContextDelegateOnAdditionalCrashContextDelegate ()
 
static CORE_API void CleanupPlatformSpecificFiles ()
 
static bool IsTypeContinuable (ECrashContextType Type)
 
static CORE_API void SetDeploymentName (const FString &EpicApp)
 
static CORE_API const TCHARGetDeploymentName ()
 
static CORE_API void SetCrashTrigger (ECrashTrigger Type)
 
static CORE_API void AddHeader (FString &Buffer)
 
static CORE_API void AddFooter (FString &Buffer)
 
static CORE_API void BeginSection (FString &Buffer, const TCHAR *SectionName)
 
static CORE_API void EndSection (FString &Buffer, const TCHAR *SectionName)
 
static CORE_API void AddSection (FString &Buffer, const TCHAR *SectionName, const FString &SectionContent)
 

Additional Inherited Members

- Public Attributes inherited from FApplePlatformCrashContext
int32 Signal
 
siginfo_tInfo
 
ucontext_tContext
 
voidErrorFrame = nullptr
 
char SignalDescription [128]
 
char MinidumpCallstackInfo [16384]
 
TCHAR CallstackProperty [16384]
 
- Static Public Attributes inherited from FGenericCrashContext
static CORE_API const ANSICHAR *const CrashContextRuntimeXMLNameA = "CrashContext.runtime-xml"
 
static CORE_API const TCHAR *const CrashContextRuntimeXMLNameW = TEXT( "CrashContext.runtime-xml" )
 
static CORE_API const ANSICHAR *const CrashConfigFileNameA = "CrashReportClient.ini"
 
static CORE_API const TCHAR *const CrashConfigFileNameW = TEXT("CrashReportClient.ini")
 
static CORE_API const TCHAR *const CrashConfigExtension = TEXT(".ini")
 
static CORE_API const TCHAR *const ConfigSectionName = TEXT("CrashReportClient")
 
static CORE_API const TCHAR *const CrashConfigPurgeDays = TEXT("CrashConfigPurgeDays")
 
static CORE_API const TCHAR *const CrashGUIDRootPrefix = TEXT("UECC-")
 
static CORE_API const TCHAR *const CrashReportOptionalAttachmentsDirName = TEXT("OptionalAttachments")
 
static CORE_API const TCHAR *const CrashContextExtension = TEXT(".runtime-xml")
 
static CORE_API const TCHAR *const RuntimePropertiesTag = TEXT( "RuntimeProperties" )
 
static CORE_API const TCHAR *const DeploymentNameTag = TEXT( "DeploymentName" )
 
static CORE_API const TCHAR *const PlatformPropertiesTag = TEXT( "PlatformProperties" )
 
static CORE_API const TCHAR *const EngineDataTag = TEXT( "EngineData" )
 
static CORE_API const TCHAR *const GameDataTag = TEXT( "GameData" )
 
static CORE_API const TCHAR *const RequestDataTag = TEXT( "RequestData" )
 
static CORE_API const TCHAR *const GameNameTag = TEXT( "GameName" )
 
static CORE_API const TCHAR *const EnabledPluginsTag = TEXT("EnabledPlugins")
 
static CORE_API const TCHAR *const UEMinidumpName = TEXT( "UEMinidump.dmp" )
 
static CORE_API const TCHAR *const NewLineTag = TEXT( "&nl;" )
 
static CORE_API const TCHAR *const CrashVersionTag = TEXT("CrashVersion")
 
static CORE_API const TCHAR *const ExecutionGuidTag = TEXT("ExecutionGuid")
 
static CORE_API const TCHAR *const CrashGuidTag = TEXT("CrashGUID")
 
static CORE_API const TCHAR *const IsEnsureTag = TEXT("IsEnsure")
 
static CORE_API const TCHAR *const IsStallTag = TEXT("IsStall")
 
static CORE_API const TCHAR *const IsAssertTag = TEXT("IsAssert")
 
static CORE_API const TCHAR *const CrashTypeTag = TEXT("CrashType")
 
static CORE_API const TCHAR *const ErrorMessageTag = TEXT("ErrorMessage")
 
static CORE_API const TCHAR *const CrashReporterMessageTag = TEXT("CrashReporterMessage")
 
static CORE_API const TCHAR *const AttendedStatusTag = TEXT("CrashReporterMessage")
 
static CORE_API const TCHAR *const SecondsSinceStartTag = TEXT("SecondsSinceStart")
 
static CORE_API const TCHAR *const BuildVersionTag = TEXT("BuildVersion")
 
static CORE_API const TCHAR *const CallStackTag = TEXT("CallStack")
 
static CORE_API const TCHAR *const PortableCallStackTag = TEXT("PCallStack")
 
static CORE_API const TCHAR *const PortableCallStackHashTag = TEXT("PCallStackHash")
 
static CORE_API const TCHAR *const IsRequestingExitTag = TEXT("IsRequestingExit")
 
static CORE_API const TCHAR *const LogFilePathTag = TEXT("LogFilePath")
 
static CORE_API const TCHAR *const ProcessIdTag = TEXT("ProcessId")
 
static CORE_API const TCHAR *const IsInternalBuildTag = TEXT("IsInternalBuild")
 
static CORE_API const TCHAR *const IsPerforceBuildTag = TEXT("IsPerforceBuild")
 
static CORE_API const TCHAR *const IsWithDebugInfoTag = TEXT("IsWithDebugInfo")
 
static CORE_API const TCHAR *const IsSourceDistributionTag = TEXT("IsSourceDistribution")
 
static constexpr int32 CrashGUIDLength = 128
 
static CORE_API const TCHAR *const CrashTypeCrash = TEXT("Crash")
 
static CORE_API const TCHAR *const CrashTypeAssert = TEXT("Assert")
 
static CORE_API const TCHAR *const CrashTypeEnsure = TEXT("Ensure")
 
static CORE_API const TCHAR *const CrashTypeStall = TEXT("Stall")
 
static CORE_API const TCHAR *const CrashTypeGPU = TEXT("GPUCrash")
 
static CORE_API const TCHAR *const CrashTypeHang = TEXT("Hang")
 
static CORE_API const TCHAR *const CrashTypeAbnormalShutdown = TEXT("AbnormalShutdown")
 
static CORE_API const TCHAR *const CrashTypeOutOfMemory = TEXT("OutOfMemory")
 
static CORE_API const TCHAR *const CrashTypeVerseRuntimeError = TEXT("VerseRuntimeError")
 
static CORE_API const TCHAR *const EngineModeExUnknown = TEXT("Unset")
 
static CORE_API const TCHAR *const EngineModeExDirty = TEXT("Dirty")
 
static CORE_API const TCHAR *const EngineModeExVanilla = TEXT("Vanilla")
 
static CORE_API const FGuid ExecutionGuid = FGuid::NewGuid()
 
- Protected Member Functions inherited from FApplePlatformCrashContext
virtual CORE_API const TCHARGetCallstackProperty () const
 
- Protected Member Functions inherited from FGenericCrashContext
virtual bool GetPlatformAllThreadContextsString (FString &OutStr) const
 
- Static Protected Member Functions inherited from FGenericCrashContext
static CORE_API const FString * GetEngineData (const FString &Key)
 
static CORE_API const FString * GetGameData (const FString &Key)
 
static CORE_API FString GenerateNewCrashGuidBase ()
 
- Protected Attributes inherited from FGenericCrashContext
FProcHandle ProcessHandle
 
ECrashContextType Type
 
uint32 CrashedThreadId
 
const TCHARErrorMessage
 
int NumMinidumpFramesToIgnore
 
TArray< FCrashStackFrameCallStack
 
TArray< FThreadStackFramesThreadCallStacks
 
TArray< FStackWalkModuleInfoModulesInfo
 

Constructor & Destructor Documentation

◆ FIOSCrashContext()

FIOSCrashContext::FIOSCrashContext ( ECrashContextType  InType,
const TCHAR InErrorMessage 
)

Constructor

Member Function Documentation

◆ CopyMinidump()

void FIOSCrashContext::CopyMinidump ( char const *  OutputPath,
char const *  InputPath 
) const

Copies the PLCrashReporter minidump

◆ CreateCrashFolder()

FString FIOSCrashContext::CreateCrashFolder ( ) const

Creates the crash folder

◆ GenerateCrashInfo()

void FIOSCrashContext::GenerateCrashInfo ( ) const

Generates information for crash reporter

◆ GenerateEnsureInfo()

void FIOSCrashContext::GenerateEnsureInfo ( ) const

Generates information for ensures sent via the CrashReporter

◆ GenerateInfoInFolder()

void FIOSCrashContext::GenerateInfoInFolder ( char const *const  InfoFolder,
bool  bIsEnsure = false 
) const

Generates the ensure/crash info into the given folder

◆ SetGenerateScreenshotFunc()

void FIOSCrashContext::SetGenerateScreenshotFunc ( const TFunction< void(char const *const InfoFolder)> &  InGenerateScreenshotFunc)
static

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