Navigation
API > API/Runtime > API/Runtime/Core > API/Runtime/Core/GenericPlatform
Inheritance Hierarchy
- FGenericCrashContext
- FMicrosoftPlatformCrashContext
- FUnixCrashContext
References
| Module | Core |
| Header | /Engine/Source/Runtime/Core/Public/GenericPlatform/GenericPlatformCrashContext.h |
| Include | #include "GenericPlatform/GenericPlatformCrashContext.h" |
Syntax
struct FGenericCrashContext
Remarks
Contains a runtime crash's properties that are common for all platforms. This may change in the future.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< FCrashStackFrame > | CallStack | ||
| uint32 | CrashedThreadId | ||
| const TCHAR * | ErrorMessage | ||
| TArray< FStackWalkModuleInfo > | ModulesInfo | ||
| int | NumMinidumpFramesToIgnore | ||
| FProcHandle | ProcessHandle | ||
| TArray< FThreadStackFrames > | ThreadCallStacks | ||
| ECrashContextType | Type |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FGenericCrashContext
(
ECrashContextType InType, |
Default constructor. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddCrashProperty
(
FString& Buffer, |
||
| void | AddCrashProperty
(
const TCHAR* PropertyName, |
||
| void | Writes footer to the buffer. | ||
| void | Writes header information to the buffer. | ||
| void | Adds a plugin descriptor string to the enabled plugins list in the crash context | ||
| void | AddPortableThreadCallStack
(
uint32 ThreadId, |
||
| void | AddPortableThreadCallStacks
(
TConstArrayView< FThreadCallStack > Threads |
Adds a portable callstack for a thread | |
| void | AddSection
(
FString& Buffer, |
||
| void | AppendEscapedXMLString
(
FStringBuilderBase& OutBuffer, |
||
| void | AppendEscapedXMLString
(
FString& OutBuffer, |
Escapes and appends specified text to XML string | |
| void | AppendPortableCallstack
(
FString& OutBuffer, |
||
| void | BeginSection
(
FString& Buffer, |
||
| void | Store info about loaded modules | ||
| void | CapturePortableCallStack
(
int32 NumStackFramesToIgnore, |
||
| void | CapturePortableCallStack
(
void* ErrorProgramCounter, |
Generate raw call stack for crash report (image base + offset) for the calling thread | |
| void | CaptureThreadPortableCallStack
(
const uint64 ThreadId, |
Generate raw call stack for crash report (image base + offset) for a different thread | |
| void | Cleanup platform specific files - called on startup, implemented per platform | ||
| void | CleanupTempSessionContextFiles
(
const FTimespan& ExpirationAge |
Clean up expired context files that were left-over on the user disks (because the consumer crashed and/or failed to delete it). | |
| void | CopyPlatformSpecificFiles
(
const TCHAR* OutputDirectory, |
Allows platform implementations to copy files to report directory. | |
| void | Initializes a shared crash context from current state. Will not set all fields in Dst. | ||
| bool | CreateCrashReportDirectory
(
const TCHAR* CrashGUIDRoot, |
Attempts to create the output report directory. | |
| void | DumpAdditionalContext
(
const TCHAR* CrashFolderAbsolute |
Collects additional crash context providers. See FAdditionalCrashContextStack. | |
| FString | Flushes the logs. | ||
| void | EndSection
(
FString& Buffer, |
||
| const FString & | GetBuffer () |
||
| const FSessionContext & | Get the current cached session context | ||
| const TCHAR * | Allow platform implementations to provide a callstack property. | ||
| const TCHAR * | Helper to get the crash report client config filepath saved by this instance and copied to each crash report folder. | ||
| const TCHAR * | Helper to get the crash report client config folder used by GetCrashConfigFilePath(). | ||
| FString | Get the Game Name of the crash | ||
| const TCHAR * | GetCrashTypeString
(
ECrashContextType Type |
Helper to get the standard string for the crash type based on crash event bool values. | |
| const TCHAR * | Get the current deployment name (ie. EpicApp) | ||
| const FString * | GetEngineData
(
const FString& Key |
Get arbitrary engine data from the crash context | |
| const TMap< FString, FString > & | Get the engine data dictionary | ||
| const TMap< FString, FString > & | GetGameData () |
Get the game data dictionary | |
| const FString * | GetGameData
(
const FString& Key |
Get arbitrary game data from the crash context | |
| FString | GetGameName () |
Gets the current standardized game name for use in a Crash Reporter report. | |
| void | GetModules
(
TArray< FStackWalkModuleInfo >& OutModules |
Gets info about loaded modules and stores it in the given array | |
| TOptional< int32 > | Return the out-of-process crash reporter exit code if available. | ||
| uint32 | |||
| bool | GetPlatformAllThreadContextsString
(
FString& OutStr |
@OutStr - a stream of Thread XML elements containing info (e.g. callstack) specific to an active thread | |
| void | GetPortableCallStack
(
const uint64* StackFrames, |
Gets the portable callstack to a specified stack and puts it into OutCallStack | |
| FString | GetTempSessionContextFilePath
(
uint64 ProcessID |
Get the file path to the temporary session context file that we create for the given process. | |
| ECrashContextType | GetType () |
||
| void | GetUniqueCrashName
(
TCHAR* GUIDBuffer, |
||
| void | Initialize () |
Initializes crash context related platform specific data that can be impossible to obtain after a crash. | |
| void | InitializeFromContext
(
const FSessionContext& Context, |
Initialized crash context, using a crash context (e.g. shared from another process). | |
| const bool | |||
| bool | IsInitalized () |
||
| bool | The reporting itself (showing the crash UI and sending the report is always done out of process) | ||
| bool | IsTypeContinuable
(
ECrashContextType Type |
||
| FEngineDataResetDelegate & | Accessor for engine data reset callback delegate | ||
| FEngineDataSetDelegate & | Accessor for engine data change callback delegate | ||
| FGameDataResetDelegate & | Accessor for game data reset callback delegate | ||
| FGameDataSetDelegate & | Accessor for game data change callback delegate | ||
| void | OnThreadStuck
(
uint32 ThreadId |
Sets a flag that one of the threads is stuck. | |
| void | OnThreadUnstuck
(
uint32 ThreadId |
Clears the stuck flag. | |
| void | Helper to clean out old files in the crash report client config folder. | ||
| void | Clears the engine data dictionary | ||
| void | Clears the game data dictionary | ||
| void | SerializeAsXML
(
const TCHAR* Filename |
Serializes crash's informations to the specified filename. | |
| void | Serializes all data to the buffer. | ||
| void | SerializeSessionContext
(
FString& Buffer |
Serializes session context to the given buffer. | |
| void | SetAnticheatProvider
(
const FString& AnticheatProvider |
Sets the Anticheat client provider. | |
| void | SetCrashedProcess
(
const FProcHandle& Process |
Sets the process id to that has crashed. | |
| void | SetCrashedThreadId
(
uint32 InId |
Stores crashing thread id. | |
| void | SetCrashTrigger
(
ECrashTrigger Type |
Sets the type of crash triggered. Used to distinguish crashes caused for debugging purposes. | |
| void | SetDeploymentName
(
const FString& EpicApp |
Set the current deployment name (ie. EpicApp) | |
| void | SetEngineData
(
const FString& Key, |
Updates (or adds if not already present) arbitrary engine data to the crash context (will remove the key if passed an empty string) | |
| void | SetEngineExit
(
bool bIsRequestExit |
Notify the crash context exit has been requested. | |
| void | SetEpicAccountId
(
const FString& EpicAccountId |
Set or change the epic account id associated with the crash session. | |
| void | SetGameData
(
const FString& Key, |
Updates (or adds if not already present) arbitrary game data to the crash context (will remove the key if passed an empty string) | |
| void | SetGPUBreadcrumbs
(
FGPUBreadcrumbCrashData&& Data |
Updates (or adds if not already present) GPU breadcrumb data. | |
| void | SetMemoryStats
(
const FPlatformMemoryStats& MemoryStats |
We can't gather memory stats in crash handling function, so we gather them just before raising exception and use in crash reporting. | |
| void | SetNumMinidumpFramesToIgnore
(
int32 InNumMinidumpFramesToIgnore |
Sets the number of stack frames to ignore when symbolicating from a minidump | |
| void | SetOutOfProcessCrashReporterExitCode
(
int32 ExitCode |
Set the out of process crash reporter exit code if known. | |
| void | SetOutOfProcessCrashReporterPid
(
uint32 ProcessId |
Set whether or not the out-of-process crash reporter is running. | |
| void | SetPortableCallStack
(
const uint64* StackFrames, |
Sets the portable callstack to a specified stack | |
| FString | UnescapeXMLString
(
const FString& Text |
Unescapes a specified XML string, naive implementation. |