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

#include <CrashDescription.h>

+ Inheritance diagram for FPrimaryCrashProperties:

Public Member Functions

bool HasProcessedData () const
 
void UpdateIDs ()
 
void SendPreUploadAnalytics ()
 
void SendPostUploadAnalytics (double Duration, bool bResult, int32 ResponseCode, uint32 PayloadSize, uint32 ReportCount)
 
void Save ()
 

Static Public Member Functions

static void Set (FPrimaryCrashProperties *NewInstance)
 
static FPrimaryCrashPropertiesGet ()
 
static bool IsValid ()
 
static void Shutdown ()
 

Public Attributes

ECrashDescVersions CrashVersion
 
ECrashDumpMode CrashDumpMode
 
FString CrashGUID
 
FString GameName
 
FString ExecutableName
 
FString EngineMode
 
FString DeploymentName
 
FCrashProperty EngineModeEx
 
FCrashProperty PlatformFullName
 
FEngineVersion EngineVersion
 
FCrashProperty CommandLine
 
FString BaseDir
 
FString AppDefaultLocale
 
FCrashProperty UserName
 
FCrashProperty LoginId
 
FCrashProperty EpicAccountId
 
FCrashProperty GameSessionID
 
FString PCallStackHash
 
int32 CrashSignal
 
int32 NumMinidumpFramesToIgnore
 
FCrashProperty CallStack
 
FCrashProperty PCallStack
 
FCrashProperty PCallStackHashProperty
 
FCrashProperty SourceContext
 
FCrashProperty Modules
 
FCrashProperty UserDescription
 
FCrashProperty UserActivityHint
 
FCrashProperty ErrorMessage
 
FCrashProperty FullCrashDumpLocation
 
FCrashProperty TimeOfCrash
 
FCrashProperty bAllowToBeContacted
 
FCrashProperty CrashReporterMessage
 
FCrashProperty PlatformCallbackResult
 
FCrashProperty CrashReportClientVersion
 
bool bHasMiniDumpFile
 
bool bHasLogFile
 
bool bHasPrimaryData
 
FString RestartCommandLine
 
bool bIsEnsure
 
FString CrashType
 
FCrashProperty CPUBrand
 
FCrashPropertyXmlNode Threads
 
FCrashPropertyXmlNode PlatformPropertiesExtras
 
bool bIsOOM
 
bool bLowMemoryWarning
 
bool bInBackground
 
bool bIsRequestingExit
 
uint32 CrashScreenshotWidth = 0
 
uint32 CrashScreenshotHeight = 0
 

Protected Member Functions

 FPrimaryCrashProperties ()
 
 ~FPrimaryCrashProperties ()
 
void ReadXML (const FString &CrashContextFilepath, const TCHAR *Buffer=nullptr)
 
void SetCrashGUID (const FString &Filepath)
 
template<typename Type >
void GetCrashProperty (Type &out_ReadValue, const FString &MainCategory, const FString &SecondCategory) const
 
template<typename Type >
void SetCrashProperty (const FString &MainCategory, const FString &SecondCategory, const Type &Value)
 
void SetCrashProperty (const FString &MainCategory, const FString &SecondCategory, const FString &NewValue)
 
void SetCrashProperty (const FString &MainCategory, const FString &SecondCategory, const FXmlNode *NewNode)
 
FString EncodeArrayStringAsXMLString (const TArray< FString > &ArrayString) const
 
void MakeCrashEventAttributes (TArray< FAnalyticsEventAttribute > &OutCrashAttributes)
 

Protected Attributes

FXmlFileXmlFile
 
FString XmlFilepath
 

Static Protected Attributes

static FPrimaryCrashPropertiesSingleton = nullptr
 

Friends

struct FCrashProperty
 
struct FCrashPropertyXmlNode
 

Detailed Description

Primary crash properties required by the crash report system.

Constructor & Destructor Documentation

◆ FPrimaryCrashProperties()

FPrimaryCrashProperties::FPrimaryCrashProperties ( )
protected

Default constructor.

◆ ~FPrimaryCrashProperties()

FPrimaryCrashProperties::~FPrimaryCrashProperties ( )
inlineprotected

Destructor.

Member Function Documentation

◆ EncodeArrayStringAsXMLString()

FString FPrimaryCrashProperties::EncodeArrayStringAsXMLString ( const TArray< FString > &  ArrayString) const
protected

Encodes multi line property to be saved as single line.

◆ Get()

static FPrimaryCrashProperties * FPrimaryCrashProperties::Get ( )
inlinestatic
Returns
global instance of the primary crash properties for the currently processed/displayed crash

◆ GetCrashProperty()

template<typename Type >
void FPrimaryCrashProperties::GetCrashProperty ( Type &  out_ReadValue,
const FString &  MainCategory,
const FString &  SecondCategory 
) const
inlineprotected

Gets a crash property from the XML file.

◆ HasProcessedData()

bool FPrimaryCrashProperties::HasProcessedData ( ) const
inline

Whether this crash contains callstack, error message and source context thus it means that crash is complete.

◆ IsValid()

static bool FPrimaryCrashProperties::IsValid ( )
inlinestatic
Returns
false, if there is no crash

◆ MakeCrashEventAttributes()

void FPrimaryCrashProperties::MakeCrashEventAttributes ( TArray< FAnalyticsEventAttribute > &  OutCrashAttributes)
protected

◆ ReadXML()

void FPrimaryCrashProperties::ReadXML ( const FString &  CrashContextFilepath,
const TCHAR Buffer = nullptr 
)
protected

Reads previously set XML file. Optionally give a buffer to parse from. Any changes will be stored to CrashContextFilePath.

◆ Save()

void FPrimaryCrashProperties::Save ( )

Saves the data.

◆ SendPostUploadAnalytics()

void FPrimaryCrashProperties::SendPostUploadAnalytics ( double  Duration,
bool  bResult,
int32  ResponseCode,
uint32  PayloadSize,
uint32  ReportCount 
)

Sends this crash for analytics (after upload) with additional stats about the upload.

◆ SendPreUploadAnalytics()

void FPrimaryCrashProperties::SendPreUploadAnalytics ( )

Sends this crash for analytics (before upload).

◆ Set()

static void FPrimaryCrashProperties::Set ( FPrimaryCrashProperties NewInstance)
inlinestatic

Sets new instance as the global.

◆ SetCrashGUID()

void FPrimaryCrashProperties::SetCrashGUID ( const FString &  Filepath)
protected

Sets the CrasgGUID based on the report's path.

◆ SetCrashProperty() [1/3]

void FPrimaryCrashProperties::SetCrashProperty ( const FString &  MainCategory,
const FString &  SecondCategory,
const FString &  NewValue 
)
inlineprotected

Sets a crash property to a new value.

◆ SetCrashProperty() [2/3]

void FPrimaryCrashProperties::SetCrashProperty ( const FString &  MainCategory,
const FString &  SecondCategory,
const FXmlNode NewNode 
)
inlineprotected

Sets a crash property to a new value.

◆ SetCrashProperty() [3/3]

template<typename Type >
void FPrimaryCrashProperties::SetCrashProperty ( const FString &  MainCategory,
const FString &  SecondCategory,
const Type &  Value 
)
inlineprotected

Sets a crash property to a new value.

◆ Shutdown()

void FPrimaryCrashProperties::Shutdown ( )
static

Shutdowns the global instance.

◆ UpdateIDs()

void FPrimaryCrashProperties::UpdateIDs ( )

Updates following properties: UserName, LoginID and EpicAccountID.

Friends And Related Symbol Documentation

◆ FCrashProperty

◆ FCrashPropertyXmlNode

Member Data Documentation

◆ AppDefaultLocale

FString FPrimaryCrashProperties::AppDefaultLocale

The language ID the application that crashed. @LanguageExt varchar(64)

FPlatformMisc::GetDefaultLocale()

◆ bAllowToBeContacted

FCrashProperty FPrimaryCrashProperties::bAllowToBeContacted

Whether the user allowed us to be contacted. If true the following properties are retrieved from the system: UserName (for non-launcher build) and EpicAccountID. Otherwise they will be empty.

◆ BaseDir

FString FPrimaryCrashProperties::BaseDir

The base directory where the app was running. @BaseDir varchar(512)

FPlatformProcess::BaseDir()

◆ bHasLogFile

bool FPrimaryCrashProperties::bHasLogFile

Whether this crash has a log file. @HasLogFile bit

◆ bHasMiniDumpFile

bool FPrimaryCrashProperties::bHasMiniDumpFile

Whether this crash has a minidump file. @HasMiniDumpFile bit

◆ bHasPrimaryData

bool FPrimaryCrashProperties::bHasPrimaryData

Whether this crash contains primary usable data.

◆ bInBackground

bool FPrimaryCrashProperties::bInBackground

Whether we were in the background when the crash happened

◆ bIsEnsure

bool FPrimaryCrashProperties::bIsEnsure

Whether the report comes from a non-fatal event such as an ensure

◆ bIsOOM

bool FPrimaryCrashProperties::bIsOOM

Whether it was an OOM or not

◆ bIsRequestingExit

bool FPrimaryCrashProperties::bIsRequestingExit

Whether we crashed during shutdown

◆ bLowMemoryWarning

bool FPrimaryCrashProperties::bLowMemoryWarning

Whether we got a low memory warning or not

◆ CallStack

FCrashProperty FPrimaryCrashProperties::CallStack

An array of FStrings representing the callstack of the crash. @RawCallStack varchar(MAX)

◆ CommandLine

FCrashProperty FPrimaryCrashProperties::CommandLine

The command line of the application that crashed. @CommandLine varchar(512)

FCommandLine::Get()

◆ CPUBrand

FCrashProperty FPrimaryCrashProperties::CPUBrand

The cpu brand of the device, e.g. Intel, iPhone6, etc.

◆ CrashDumpMode

ECrashDumpMode FPrimaryCrashProperties::CrashDumpMode

Crash dump mode.

◆ CrashGUID

FString FPrimaryCrashProperties::CrashGUID

An unique report name that this crash belongs to. Folder name.

◆ CrashReportClientVersion

FCrashProperty FPrimaryCrashProperties::CrashReportClientVersion

CRC sets this to the current version of the software.

◆ CrashReporterMessage

FCrashProperty FPrimaryCrashProperties::CrashReporterMessage

Rich text string (should be localized by the crashing application) that will be displayed in the main CRC dialog Can be empty and the CRC's default text will be shown.

◆ CrashScreenshotHeight

uint32 FPrimaryCrashProperties::CrashScreenshotHeight = 0

◆ CrashScreenshotWidth

uint32 FPrimaryCrashProperties::CrashScreenshotWidth = 0

Width and height of the crash screenshot, if present

◆ CrashSignal

int32 FPrimaryCrashProperties::CrashSignal

◆ CrashType

FString FPrimaryCrashProperties::CrashType

The type of crash being reported, e.g. Assert, Ensure, Hang

◆ CrashVersion

ECrashDescVersions FPrimaryCrashProperties::CrashVersion

Version.

◆ DeploymentName

FString FPrimaryCrashProperties::DeploymentName

Deployment (also known as "EpicApp"), e.g. DevPlaytest, PublicTest, Live @DeploymentName varchar(64)

◆ EngineMode

FString FPrimaryCrashProperties::EngineMode

The mode the game was in e.g. editor. @EngineMode varchar(64)

FPlatformMisc::GetEngineMode()

◆ EngineModeEx

FCrashProperty FPrimaryCrashProperties::EngineModeEx

EngineModeEx e.g. Unset, Dirty, Vanilla @DeploymentName varchar(64)

◆ EngineVersion

FEngineVersion FPrimaryCrashProperties::EngineVersion

Encoded engine version. (AppVersion) E.g. 4.3.0.0-2215663+UE-Releases+4.3 BuildVersion-BuiltFromCL-BranchName @EngineVersion varchar(64)

FEngineVersion::Current().ToString() ENGINE_VERSION_STRING

◆ EpicAccountId

FCrashProperty FPrimaryCrashProperties::EpicAccountId

The Epic account ID for the user who last used the Launcher. @EpicAccountId varchar(64)

FPlatformMisc::GetEpicAccountId()

◆ ErrorMessage

FCrashProperty FPrimaryCrashProperties::ErrorMessage

The error message, can be assertion message, ensure message or message from the fatal error. @Summary varchar(512)

GErrorMessage

◆ ExecutableName

FString FPrimaryCrashProperties::ExecutableName

The name of the exe that crashed. (AppID) @GameName varchar(64)

◆ FullCrashDumpLocation

FCrashProperty FPrimaryCrashProperties::FullCrashDumpLocation

Location of full crash dump. Displayed in the crash report frontend.

◆ GameName

FString FPrimaryCrashProperties::GameName

The name of the game that crashed. (AppID) @GameName varchar(64)

FApp::GetProjectName()

◆ GameSessionID

FCrashProperty FPrimaryCrashProperties::GameSessionID

The last game session id set by the application. Application specific meaning. Some might not set this. @EpicAccountId varchar(64)

◆ LoginId

FCrashProperty FPrimaryCrashProperties::LoginId

The unique ID used to identify the machine the crash occurred on. @ComputerName varchar(64)

FPlatformMisc::GetLoginId()

◆ Modules

FCrashProperty FPrimaryCrashProperties::Modules

An array of module's name used by the game that crashed.

◆ NumMinidumpFramesToIgnore

int32 FPrimaryCrashProperties::NumMinidumpFramesToIgnore

Specifies the number of stack frames in the callstack to ignore when symbolicating from a minidump.

◆ PCallStack

FCrashProperty FPrimaryCrashProperties::PCallStack

An array of FStrings representing the portable callstack of the crash.

◆ PCallStackHash

FString FPrimaryCrashProperties::PCallStackHash

◆ PCallStackHashProperty

FCrashProperty FPrimaryCrashProperties::PCallStackHashProperty

The hash of PCallStack

◆ PlatformCallbackResult

FCrashProperty FPrimaryCrashProperties::PlatformCallbackResult

Platform-specific UE Core value (integer).

◆ PlatformFullName

FCrashProperty FPrimaryCrashProperties::PlatformFullName

The platform that crashed e.g. Win64. @PlatformName varchar(64)

Last path of the directory

◆ PlatformPropertiesExtras

FCrashPropertyXmlNode FPrimaryCrashProperties::PlatformPropertiesExtras

Optional additional data for platform properties

◆ RestartCommandLine

FString FPrimaryCrashProperties::RestartCommandLine

Copy of CommandLine that isn't anonymized so it can be used to restart the process

◆ Singleton

FPrimaryCrashProperties * FPrimaryCrashProperties::Singleton = nullptr
staticprotected

Global instance.

◆ SourceContext

FCrashProperty FPrimaryCrashProperties::SourceContext

An array of FStrings showing the source code around the crash. @SourceContext varchar(max)

◆ Threads

FCrashPropertyXmlNode FPrimaryCrashProperties::Threads

Thread contexts, XML elements containing info specific to an active thread, e.g. callstacks

◆ TimeOfCrash

FCrashProperty FPrimaryCrashProperties::TimeOfCrash

The UTC time the crash occurred. @TimeOfCrash datetime

FDateTime::UtcNow().GetTicks()

◆ UserActivityHint

FCrashProperty FPrimaryCrashProperties::UserActivityHint

An FString representing the user activity, if known, when the error occurred. @UserActivityHint varchar(512)

◆ UserDescription

FCrashProperty FPrimaryCrashProperties::UserDescription

An array of FStrings representing the user description of the crash. @Description varchar(512)

◆ UserName

FCrashProperty FPrimaryCrashProperties::UserName

The name of the user that caused this crash. @UserName varchar(64)

FString( FPlatformProcess::UserName() ).Replace( TEXT( "." ), TEXT( "" ) )

◆ XmlFile

FXmlFile* FPrimaryCrashProperties::XmlFile
protected

Reader for the xml file.

◆ XmlFilepath

FString FPrimaryCrashProperties::XmlFilepath
protected

Cached filepath.


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