Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
GenericPlatformCrashContext.h File Reference
+ Include dependency graph for GenericPlatformCrashContext.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FCrashStackFrame
 
struct  FThreadStackFrames
 
struct  FSessionContext
 
struct  FUserSettingsContext
 
struct  FSharedCrashContext
 
struct  FCrashContextExtendedWriter
 
struct  FGenericCrashContext
 
struct  FGenericMemoryWarningContext
 
struct  FAdditionalCrashContextStack
 
struct  FScopedAdditionalCrashContextProvider
 

Namespaces

namespace  RecoveryService
 

Macros

#define WITH_ADDITIONAL_CRASH_CONTEXTS   1
 
#define CR_MAX_ERROR_MESSAGE_CHARS   2048
 
#define CR_MAX_DIRECTORY_CHARS   256
 
#define CR_MAX_STACK_FRAMES   256
 
#define CR_MAX_THREAD_NAME_CHARS   64
 
#define CR_MAX_THREADS   512
 
#define CR_MAX_GENERIC_FIELD_CHARS   64
 
#define CR_MAX_COMMANDLINE_CHARS   1024
 
#define CR_MAX_RICHTEXT_FIELD_CHARS   512
 
#define CR_MAX_DYNAMIC_BUFFER_CHARS   1024*32
 
#define UE_ADD_CRASH_CONTEXT_SCOPE(FuncExpr)   FScopedAdditionalCrashContextProvider ANONYMOUS_VARIABLE(AddCrashCtx)(FuncExpr)
 

Enumerations

enum  ECrashExitCodes : int32 {
  MonitoredApplicationStillRunning = 0xBDB29 , MonitoredApplicationExitCodeNotAvailable = 0xBDB2A , CrashReporterCrashed = 0xBDB2B , CrashHandlerCrashed = 0xBDB2C ,
  OutOfProcessReporterExitedUnexpectedly = 0xBDB2D , CrashDuringStaticInit = 0xBDB2E , OutOfProcessReporterCheckFailed = 0xBDB2F , UnhandledEnsure = 0xBDB30 ,
  MonitoredApplicationStillRunning = 777001 , MonitoredApplicationStillRunning = 0xBDB29 , MonitoredApplicationExitCodeNotAvailable = 777002 , MonitoredApplicationExitCodeNotAvailable = 0xBDB2A ,
  CrashReporterCrashed = 777003 , CrashReporterCrashed = 0xBDB2B , CrashHandlerCrashed = 777004 , CrashHandlerCrashed = 0xBDB2C ,
  OutOfProcessReporterExitedUnexpectedly = 777005 , OutOfProcessReporterExitedUnexpectedly = 0xBDB2D , CrashDuringStaticInit = 777006 , CrashDuringStaticInit = 0xBDB2E ,
  OutOfProcessReporterCheckFailed = 777007 , OutOfProcessReporterCheckFailed = 0xBDB2F , UnhandledEnsure = 777008 , UnhandledEnsure = 0xBDB30
}
 
enum class  ECrashDescVersions : int32 {
  VER_1_NewCrashFormat = 0x0 , VER_2_AddedNewProperties = 0x1 , VER_3_CrashContext = 0x3 , VER_1_NewCrashFormat ,
  VER_2_AddedNewProperties , VER_3_CrashContext = 3
}
 
enum class  ECrashDumpMode : int32 {
  Default = 0x0 , FullDump = 0x1 , FullDumpAlways = 0x2 , Default = 0 ,
  FullDump = 1 , FullDumpAlways = 2
}
 
enum class  ECrashContextType {
  Crash = 0x0 , Assert = 0x1 , Ensure = 0x2 , Stall = 0x3 ,
  GPUCrash = 0x4 , Hang = 0x5 , OutOfMemory = 0x6 , AbnormalShutdown = 0x7 ,
  Max = 0x8 , Crash , Assert , Ensure ,
  Stall , GPUCrash , Hang , OutOfMemory ,
  AbnormalShutdown , Max
}
 
enum class  ECrashTrigger { Debug = 0xFF , Normal = 0x0 , Debug = -1 , Normal = 0 }
 

Functions

 DECLARE_MULTICAST_DELEGATE_OneParam (FAdditionalCrashContextDelegate, FCrashContextExtendedWriter &)
 
FString RecoveryService::GetRecoveryServerName ()
 
FString RecoveryService::MakeSessionName ()
 
bool RecoveryService::TokenizeSessionName (const FString &SessionName, FString *OutServerName, int32 *SeqNum, FString *ProjName, FDateTime *DateTime)
 

Macro Definition Documentation

◆ CR_MAX_COMMANDLINE_CHARS

#define CR_MAX_COMMANDLINE_CHARS   1024

Definition at line 137 of file GenericPlatformCrashContext.h.

◆ CR_MAX_DIRECTORY_CHARS

#define CR_MAX_DIRECTORY_CHARS   256

Definition at line 132 of file GenericPlatformCrashContext.h.

◆ CR_MAX_DYNAMIC_BUFFER_CHARS

#define CR_MAX_DYNAMIC_BUFFER_CHARS   1024*32

Definition at line 139 of file GenericPlatformCrashContext.h.

◆ CR_MAX_ERROR_MESSAGE_CHARS

#define CR_MAX_ERROR_MESSAGE_CHARS   2048

Definition at line 131 of file GenericPlatformCrashContext.h.

◆ CR_MAX_GENERIC_FIELD_CHARS

#define CR_MAX_GENERIC_FIELD_CHARS   64

Definition at line 136 of file GenericPlatformCrashContext.h.

◆ CR_MAX_RICHTEXT_FIELD_CHARS

#define CR_MAX_RICHTEXT_FIELD_CHARS   512

Definition at line 138 of file GenericPlatformCrashContext.h.

◆ CR_MAX_STACK_FRAMES

#define CR_MAX_STACK_FRAMES   256

Definition at line 133 of file GenericPlatformCrashContext.h.

◆ CR_MAX_THREAD_NAME_CHARS

#define CR_MAX_THREAD_NAME_CHARS   64

Definition at line 134 of file GenericPlatformCrashContext.h.

◆ CR_MAX_THREADS

#define CR_MAX_THREADS   512

Definition at line 135 of file GenericPlatformCrashContext.h.

◆ UE_ADD_CRASH_CONTEXT_SCOPE

◆ WITH_ADDITIONAL_CRASH_CONTEXTS

#define WITH_ADDITIONAL_CRASH_CONTEXTS   1

Definition at line 28 of file GenericPlatformCrashContext.h.

Enumeration Type Documentation

◆ ECrashContextType

Enumerator
Crash 
Assert 
Ensure 
Stall 
GPUCrash 
Hang 
OutOfMemory 
AbnormalShutdown 
Max 
Crash 
Assert 
Ensure 
Stall 
GPUCrash 
Hang 
OutOfMemory 
AbnormalShutdown 
Max 

Definition at line 110 of file GenericPlatformCrashContext.h.

◆ ECrashDescVersions

Enumerates crash description versions.

Enumerator
VER_1_NewCrashFormat 
VER_2_AddedNewProperties 
VER_3_CrashContext 
VER_1_NewCrashFormat 

Introduces a new crash description format.

VER_2_AddedNewProperties 

Added misc properties (CPU,GPU,OS,etc), memory related stats and platform specific properties as generic payload.

VER_3_CrashContext 

Using crash context when available.

Definition at line 63 of file GenericPlatformCrashContext.h.

◆ ECrashDumpMode

Enumerates crash dump modes.

Enumerator
Default 
FullDump 
FullDumpAlways 
Default 

Default minidump settings.

FullDump 

Full memory crash minidump

FullDumpAlways 

Full memory crash minidump, even on ensures

Definition at line 76 of file GenericPlatformCrashContext.h.

◆ ECrashExitCodes

Defines special exit codes used to diagnose abnormal terminations. The code values are arbitrary, but easily recongnizable in decimal. They are meant to be used with the out-of-process monitoring/analytics in order to figure out unexpected cases.

Enumerator
MonitoredApplicationStillRunning 
MonitoredApplicationExitCodeNotAvailable 
CrashReporterCrashed 
CrashHandlerCrashed 
OutOfProcessReporterExitedUnexpectedly 
CrashDuringStaticInit 
OutOfProcessReporterCheckFailed 
UnhandledEnsure 
MonitoredApplicationStillRunning 

Used by out-of-process monitor in analytics report, the application is still running, but out-of-process monitor was requested to exit before the application exit code could be read.

MonitoredApplicationStillRunning 
MonitoredApplicationExitCodeNotAvailable 

Used by out-of-process monitor in analytics report, the application is not running anymore, but the out-of-process monitor could not read the Editor exit code (either is is not supported by the OS or is not available).

MonitoredApplicationExitCodeNotAvailable 
CrashReporterCrashed 

Used by the application when the crash reporter crashed itself while reporting a crash.

CrashReporterCrashed 
CrashHandlerCrashed 

Used by the application when the crash handler crashed itself (crash in the __except() clause for example).

CrashHandlerCrashed 
OutOfProcessReporterExitedUnexpectedly 

Used by the application to flag when it detects that its out-of-process application supposed to report the bugs died (ex if the Editor detects that CrashReportClientEditor is not running anymore as expected).

OutOfProcessReporterExitedUnexpectedly 
CrashDuringStaticInit 

Application crashed during static initialization. It may or may not have been able to have sent a crash report.

CrashDuringStaticInit 
OutOfProcessReporterCheckFailed 

Used as MonitorExceptCode in analytics to track how often the out-of-process CRC exits because of a failed check.

OutOfProcessReporterCheckFailed 
UnhandledEnsure 

The exception code used for ensure, in case a kernel driver callback happens at in a dispatch level where SEH (on windows) is disabled.

UnhandledEnsure 

Definition at line 35 of file GenericPlatformCrashContext.h.

◆ ECrashTrigger

In development mode we can cause crashes in order to test reporting systems.

Enumerator
Debug 
Normal 
Debug 
Normal 

Definition at line 125 of file GenericPlatformCrashContext.h.

Function Documentation

◆ DECLARE_MULTICAST_DELEGATE_OneParam()

DECLARE_MULTICAST_DELEGATE_OneParam ( FAdditionalCrashContextDelegate ,
FCrashContextExtendedWriter &  )

Simple Delegate for additional crash context.