UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GenericPlatformCrashContext.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
10#include "CoreTypes.h"
11#include "Delegates/Delegate.h"
14#include "HAL/PlatformMemory.h"
15#include "HAL/PlatformProcess.h"
18#include "Misc/Optional.h"
19#include "Misc/SecureHash.h"
20#include "Misc/Timespan.h"
21#include "Templates/Function.h"
23
24struct FDateTime;
25struct FGuid;
27
28#ifndef WITH_ADDITIONAL_CRASH_CONTEXTS
29#define WITH_ADDITIONAL_CRASH_CONTEXTS 1
30#endif
31
33
62
75
78{
80 Default = 0,
81
83 FullDump = 1,
84
87};
88
103
110
112{
113 Crash,
114 Assert,
115 Ensure,
116 Stall,
117 GPUCrash,
118 Hang,
122
123 Max
124};
125
128{
129 Debug = -1,
130 Normal = 0
131};
132
138{
139 Unknown,
140 Attended,
142};
143
145
146#define CR_MAX_ERROR_MESSAGE_CHARS 2048
147#define CR_MAX_DIRECTORY_CHARS 256
148#define CR_MAX_SYMBOL_CHARS 128
149#define CR_MAX_STACK_FRAMES 256
150#define CR_MAX_THREAD_NAME_CHARS 64
151#define CR_MAX_THREADS 512
152#define CR_MAX_GENERIC_FIELD_CHARS 64
153#define CR_MAX_COMMANDLINE_CHARS 1024
154#define CR_MAX_RICHTEXT_FIELD_CHARS 512
155#define CR_MAX_DYNAMIC_BUFFER_CHARS 1024*32
156#define CR_MAX_GPU_BREADCRUMBS_QUEUES 2
157#define CR_MAX_GPU_BREADCRUMBS_STRING_CHARS 1024*8
158
163{
169 bool bIsOOM;
217};
218
228
245
251{
252 // Exception info
259
260 // Additional user settings.
262
263 // Platform specific crash context (must be portable)
265 // Directory for dumped files
267 // Game/Engine information not possible to catch out of process
269 // Count and offset into dynamic buffer to comma separated plugin list
272 // Count and offset into dynamic buffer to comma separated key=value data for engine information
275 // Count and offset into dynamic buffer to comma separated key=value data for game information
278 // Count and offset into dynamic buffer to comma separated file list
281 // Fixed size dynamic buffer
283
284 // Program counter address where the error occurred.
286
287 // Instruction address where the exception was raised that initiated crash reporting
289
290 // GPU breadcrumbs.
292};
293
294#if WITH_ADDITIONAL_CRASH_CONTEXTS
295
300{
301 virtual ~FCrashContextExtendedWriter() = default;
302
304 virtual void AddBuffer(const TCHAR* Identifier, const uint8* Data, uint32 DataSize) = 0;
305
307 virtual void AddString(const TCHAR* Identifier, const TCHAR* DataStr) = 0;
308};
309
312
313#endif //WITH_ADDITIONAL_CRASH_CONTEXTS
314
318
321
328
331{
337 static constexpr TCHAR const CurrentVersion[] = TEXT("526BDA74-7A81-44C3-B0FD-9DBF80973C25");
338
339 enum class EState : uint8
340 {
341 NotStarted = 0,
342 Active = 1,
343 Finished = 2
344 };
345
346 // These are serialized. Do not change this array without bumping the CurrentVersion.
347 TCHAR const static constexpr StateChars[] =
348 {
349 TEXT('N'),
350 TEXT('A'),
351 TEXT('F'),
352 };
353
355 {
359
360 operator bool() const { return !BreadcrumbString.IsEmpty(); }
361 };
363 FString SourceName;
364 FString Version;
365
367 {
368 FString String;
369 FSHA1 FullHash, ActiveHash;
370 TArray<bool> ChildStack;
371
372 // Sanitize the event name string to remove characters that are used as delimiters for parsing.
373 static FString Sanitize(FString const& Name);
374
375 // Event names include parameters, mostly numeric (e.g. "Frame 1234"), that should be ignored when computing the hash.
376 static FString SanitizeForHash(FString const& Name);
377
378 public:
379 CORE_API void BeginNode(FString const& Name, EState State);
380 CORE_API void EndNode();
381
383 };
384
388};
389
395{
396public:
397
400
404 CORE_API static const TCHAR* const ConfigSectionName;
406 CORE_API static const TCHAR* const CrashGUIDRootPrefix;
407
409
412 CORE_API static const TCHAR* const DeploymentNameTag;
414 CORE_API static const TCHAR* const EngineDataTag;
415 CORE_API static const TCHAR* const GameDataTag;
416 CORE_API static const TCHAR* const RequestDataTag;
417 CORE_API static const TCHAR* const GameNameTag;
418 CORE_API static const TCHAR* const EnabledPluginsTag;
419 CORE_API static const TCHAR* const UEMinidumpName;
420 CORE_API static const TCHAR* const NewLineTag;
421 CORE_API static const TCHAR* const CrashVersionTag;
422 CORE_API static const TCHAR* const ExecutionGuidTag;
423 CORE_API static const TCHAR* const CrashGuidTag;
424 CORE_API static const TCHAR* const IsEnsureTag;
425 CORE_API static const TCHAR* const IsStallTag;
426 CORE_API static const TCHAR* const IsAssertTag;
427 CORE_API static const TCHAR* const CrashTypeTag;
428 CORE_API static const TCHAR* const ErrorMessageTag;
430 CORE_API static const TCHAR* const AttendedStatusTag;
432 CORE_API static const TCHAR* const BuildVersionTag;
433 CORE_API static const TCHAR* const CallStackTag;
436 CORE_API static const TCHAR* const IsRequestingExitTag;
437 CORE_API static const TCHAR* const LogFilePathTag;
438 CORE_API static const TCHAR* const ProcessIdTag;
439 CORE_API static const TCHAR* const IsInternalBuildTag;
440 CORE_API static const TCHAR* const IsPerforceBuildTag;
441 CORE_API static const TCHAR* const IsWithDebugInfoTag;
443
444 static constexpr inline int32 CrashGUIDLength = 128;
445
446 CORE_API static const TCHAR* const CrashTypeCrash;
447 CORE_API static const TCHAR* const CrashTypeAssert;
448 CORE_API static const TCHAR* const CrashTypeEnsure;
449 CORE_API static const TCHAR* const CrashTypeStall;
450 CORE_API static const TCHAR* const CrashTypeGPU;
451 CORE_API static const TCHAR* const CrashTypeHang;
455
456 CORE_API static const TCHAR* const EngineModeExUnknown;
457 CORE_API static const TCHAR* const EngineModeExDirty;
458 CORE_API static const TCHAR* const EngineModeExVanilla;
459
460 // A guid that identifies this particular execution. Allows multiple crash reports from the same run of the project to be tied together
462
464 CORE_API static void Initialize();
465
467 CORE_API static void InitializeFromContext(const FSessionContext& Context, const TCHAR* EnabledPlugins, const TCHAR* EngineData, const TCHAR* GameData, const TCHAR* FilePathData, const FGPUBreadcrumbsSharedContext* GPUBreadcrumbs);
468
471
473 CORE_API static FString GetGameName();
474
478 static bool IsInitalized()
479 {
480 return bIsInitialized;
481 }
482
488 {
489 return OutOfProcessCrashReporterPid != 0;
490 }
491
496 {
497 return OutOfProcessCrashReporterPid;
498 }
499
507 {
508 OutOfProcessCrashReporterPid = ProcessId;
509 }
510
518
525
528
530
533
535 CORE_API static void CleanupTempSessionContextFiles(const FTimespan& ExpirationAge);
536
539
543 const FString& GetBuffer() const
544 {
545 return CommonBuffer;
546 }
547
551 CORE_API void GetUniqueCrashName(TCHAR* GUIDBuffer, int32 BufferSize) const;
552
556 CORE_API const bool IsFullCrashDump() const;
557
559 CORE_API virtual void SerializeAsXML( const TCHAR* Filename ) const;
560
565 CORE_API static void SerializeSessionContext(FString& Buffer);
566
567 template <typename Type>
568 void AddCrashProperty(const TCHAR* PropertyName, const Type& Value) const
569 {
570 AddCrashPropertyInternal(CommonBuffer, PropertyName, Value);
571 }
572
573 template <typename Type>
574 static void AddCrashProperty(FString& Buffer, const TCHAR* PropertyName, const Type& Value)
575 {
576 AddCrashPropertyInternal(Buffer, PropertyName, Value);
577 }
578
580 CORE_API static void AppendEscapedXMLString(FString& OutBuffer, FStringView Text );
582
583 CORE_API static void AppendPortableCallstack(FString& OutBuffer, TConstArrayView<FCrashStackFrame> StackFrames);
584
586 CORE_API static FString UnescapeXMLString( const FString& Text );
587
590
592 CORE_API static FString GetCrashGameName();
593
595 CORE_API static const TCHAR* GetCrashConfigFilePath();
596
598 CORE_API static const TCHAR* GetCrashConfigFolder();
599
601 CORE_API static void PurgeOldCrashConfig();
602
604 CORE_API static void SetEpicAccountId(const FString& EpicAccountId);
605
607 CORE_API static void ResetEngineData();
608
610 static FEngineDataResetDelegate& OnEngineDataResetDelegate() { return OnEngineDataReset; }
611
613 CORE_API static void SetEngineData(const FString& Key, const FString& Value);
614
617
619 static FEngineDataSetDelegate& OnEngineDataSetDelegate() { return OnEngineDataSet; }
620
623
625 CORE_API static void ResetGameData();
626
628 static FGameDataResetDelegate& OnGameDataResetDelegate() { return OnGameDataReset; }
629
631 CORE_API static void SetGameData(const FString& Key, const FString& Value);
632
634 static FGameDataSetDelegate& OnGameDataSetDelegate() { return OnGameDataSet; }
635
638
640 CORE_API static void AddPlugin(const FString& PluginDesc);
641
643 CORE_API static void AddFile(const FString& AbsoluteSourcePath);
644
646 CORE_API static FString DumpLog(const FString& CrashFolderAbsolute);
647
650
653
657 CORE_API static void SetMemoryStats(const FPlatformMemoryStats& MemoryStats);
658
660 CORE_API static void SetAnticheatProvider(const FString& AnticheatProvider);
661
664 CORE_API static void OnThreadStuck(uint32 ThreadId);
665
668 CORE_API static void OnThreadUnstuck(uint32 ThreadId);
669
671 CORE_API static bool CreateCrashReportDirectory(const TCHAR* CrashGUIDRoot, int32 CrashIndex, FString& OutCrashDirectoryAbsolute);
672
674 CORE_API static void SetEngineExit(bool bIsRequestExit);
675
676#if WITH_ADDITIONAL_CRASH_CONTEXTS
679 {
680 return AdditionalCrashContextDelegate;
681 }
682#endif //WITH_ADDITIONAL_CRASH_CONTEXTS
683
689
695
698
704 CORE_API void CapturePortableCallStack(void* ErrorProgramCounter, void* Context);
705
711 CORE_API void CaptureThreadPortableCallStack(const uint64 ThreadId, void* Context);
712
713 UE_DEPRECATED(5.0, "")
715
718
721
724
727
730 CORE_API virtual void AddPortableThreadCallStack(uint32 ThreadId, const TCHAR* ThreadName, const uint64* StackFrames, int32 NumStackFrames);
731
733 CORE_API virtual void CopyPlatformSpecificFiles(const TCHAR* OutputDirectory, void* Context);
734
737
741 ECrashContextType GetType() const { return Type; }
742
747 {
748 switch (Type)
749 {
750 // Verse runtime errors only halt the Verse runtime itself; they do not result in a crash.
751 // Certain runtime errors may be recoverable from in the future.
755 return true;
756
764 default:
765 return false;
766 }
767 }
768
772 CORE_API static void SetDeploymentName(const FString& EpicApp);
773
777 CORE_API static const TCHAR* GetDeploymentName();
778
783
784protected:
789 virtual bool GetPlatformAllThreadContextsString(FString& OutStr) const { return false; }
790
799
801 CORE_API virtual const TCHAR* GetCallstackProperty() const;
802
804 CORE_API static const FString* GetEngineData(const FString& Key);
805
807 CORE_API static const FString* GetGameData(const FString& Key);
808
810 CORE_API static FString GenerateNewCrashGuidBase();
811
812private:
813
815 static void SerializeTempCrashContextToFile();
816
818 static void SerializeUserSettings(FString& Buffer);
819
821 CORE_API static void AddCrashPropertyInternal(FString& Buffer, FStringView PropertyName, FStringView PropertyValue);
822
824 template <typename Type>
825 static void AddCrashPropertyInternal(FString& Buffer, FStringView PropertyName, const Type& Value)
826 {
828 }
829
831 CORE_API virtual void AddPlatformSpecificProperties() const;
832
834 void AddPortableCallStack() const;
835
837 void AddPortableCallStackHash() const;
838
840 void AddGPUBreadcrumbs() const;
841
843 void AddModules() const;
844
845public: // Allows this helper functionality to be present for clients to write their own types of crash reports.
847 CORE_API static void AddHeader(FString& Buffer);
848
850 CORE_API static void AddFooter(FString& Buffer);
851
852 CORE_API static void BeginSection(FString& Buffer, const TCHAR* SectionName);
853 CORE_API static void EndSection(FString& Buffer, const TCHAR* SectionName);
854 CORE_API static void AddSection(FString& Buffer, const TCHAR* SectionName, const FString& SectionContent);
855
856private:
858 static void InitializeFromConfig();
859
861 static void UpdateLocalizedStrings();
862
864 static bool bIsInitialized;
865
867 CORE_API static uint32 OutOfProcessCrashReporterPid;
868
870 static volatile int64 OutOfProcessCrashReporterExitCode;
871
873 static int32 StaticCrashContextIndex;
874
875#if WITH_ADDITIONAL_CRASH_CONTEXTS
877 CORE_API static FAdditionalCrashContextDelegate AdditionalCrashContextDelegate;
878#endif //WITH_ADDITIONAL_CRASH_CONTEXTS
879
881 mutable FString CommonBuffer;
882
884 int32 CrashContextIndex;
885
887 CORE_API static FEngineDataResetDelegate OnEngineDataReset;
888 CORE_API static FEngineDataSetDelegate OnEngineDataSet;
889
890 CORE_API static FGameDataResetDelegate OnGameDataReset;
891 CORE_API static FGameDataSetDelegate OnGameDataSet;
892
893 // FNoncopyable
895 FGenericCrashContext& operator=(const FGenericCrashContext&) = delete;
896};
897
900
902{
904 CORE_API FString GetRecoveryServerName();
905
907 CORE_API FString MakeSessionName();
908
910 CORE_API bool TokenizeSessionName(const FString& SessionName, FString* OutServerName, int32* SeqNum, FString* ProjName, FDateTime* DateTime);
911}
912
913#if WITH_ADDITIONAL_CRASH_CONTEXTS
914
919{
922 CORE_API static void PopProvider();
923
925
926private:
927 enum { MaxStackDepth = 16 };
929 const FScopedAdditionalCrashContextProvider* Stack[MaxStackDepth];
930 uint32 StackIndex = 0;
931
934
935 inline void PushProviderInternal(const FScopedAdditionalCrashContextProvider* Provider)
936 {
937 check(StackIndex < MaxStackDepth);
938 Stack[StackIndex++] = Provider;
939 }
940
941 inline void PopProviderInternal()
942 {
943 check(StackIndex > 0);
944 Stack[--StackIndex] = nullptr;
945 }
946};
947
970
971#define UE_ADD_CRASH_CONTEXT_SCOPE(FuncExpr) FScopedAdditionalCrashContextProvider ANONYMOUS_VARIABLE(AddCrashCtx)(FuncExpr)
972
973#else
974
975#define UE_ADD_CRASH_CONTEXT_SCOPE(FuncExpr)
976
977#endif // WITH_ADDITIONAL_CRASH_CONTEXTS
978
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::ANSICHAR ANSICHAR
An ANSI character. Normally a signed type.
Definition Platform.h:1131
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
ECrashTrigger
Definition GenericPlatformCrashContext.h:128
#define CR_MAX_GENERIC_FIELD_CHARS
Definition GenericPlatformCrashContext.h:152
ECrashDumpMode
Definition GenericPlatformCrashContext.h:78
#define CR_MAX_GPU_BREADCRUMBS_QUEUES
Definition GenericPlatformCrashContext.h:156
#define CR_MAX_GPU_BREADCRUMBS_STRING_CHARS
Definition GenericPlatformCrashContext.h:157
#define CR_MAX_ERROR_MESSAGE_CHARS
Definition GenericPlatformCrashContext.h:146
#define CR_MAX_DYNAMIC_BUFFER_CHARS
Definition GenericPlatformCrashContext.h:155
#define CR_MAX_SYMBOL_CHARS
Definition GenericPlatformCrashContext.h:148
ECrashExitCodes
Definition GenericPlatformCrashContext.h:37
@ OutOfProcessReporterExitedUnexpectedly
Definition GenericPlatformCrashContext.h:51
@ UnhandledEnsure
Definition GenericPlatformCrashContext.h:60
@ CrashReporterCrashed
Definition GenericPlatformCrashContext.h:45
@ CrashHandlerCrashed
Definition GenericPlatformCrashContext.h:48
@ MonitoredApplicationExitCodeNotAvailable
Definition GenericPlatformCrashContext.h:42
@ CrashDuringStaticInit
Definition GenericPlatformCrashContext.h:54
@ MonitoredApplicationStillRunning
Definition GenericPlatformCrashContext.h:39
@ OutOfProcessReporterCheckFailed
Definition GenericPlatformCrashContext.h:57
ECrashContextType
Definition GenericPlatformCrashContext.h:112
#define CR_MAX_DIRECTORY_CHARS
Definition GenericPlatformCrashContext.h:147
#define CR_MAX_RICHTEXT_FIELD_CHARS
Definition GenericPlatformCrashContext.h:154
ECrashDescVersions
Definition GenericPlatformCrashContext.h:65
EUnattendedStatus
Definition GenericPlatformCrashContext.h:138
#define CR_MAX_THREAD_NAME_CHARS
Definition GenericPlatformCrashContext.h:150
#define CR_MAX_COMMANDLINE_CHARS
Definition GenericPlatformCrashContext.h:153
#define CR_MAX_THREADS
Definition GenericPlatformCrashContext.h:151
CORE_API const TCHAR * AttendedStatusToString(const EUnattendedStatus Status)
Definition GenericPlatformCrashContext.cpp:83
const bool
Definition NetworkReplayStreaming.h:178
TStringView< TCHAR > FStringView
Definition StringFwd.h:45
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition GenericPlatformCrashContext.h:367
CORE_API void EndNode()
Definition GenericPlatformCrashContext.cpp:147
CORE_API void BeginNode(FString const &Name, EState State)
Definition GenericPlatformCrashContext.cpp:116
CORE_API FQueueData GetResult()
Definition GenericPlatformCrashContext.cpp:162
Definition SecureHash.h:314
Definition SecureHash.h:226
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition FunctionFwd.h:19
Definition GenericPlatformCrashContext.h:902
Definition GenericPlatformCrashContext.h:919
static CORE_API void PopProvider()
static CORE_API void PushProvider(struct FScopedAdditionalCrashContextProvider *Provider)
static CORE_API void ExecuteProviders(FCrashContextExtendedWriter &Writer)
static CORE_API FAdditionalCrashContextStack & GetThreadContextProvider()
Definition GenericPlatformCrashContext.h:300
virtual void AddBuffer(const TCHAR *Identifier, const uint8 *Data, uint32 DataSize)=0
virtual ~FCrashContextExtendedWriter()=default
virtual void AddString(const TCHAR *Identifier, const TCHAR *DataStr)=0
Definition GenericPlatformCrashContext.h:91
FCrashStackFrame(FString ModuleNameIn, uint64 BaseAddressIn, uint64 OffsetIn)
Definition GenericPlatformCrashContext.h:96
uint64 Offset
Definition GenericPlatformCrashContext.h:94
uint64 BaseAddress
Definition GenericPlatformCrashContext.h:93
FString ModuleName
Definition GenericPlatformCrashContext.h:92
Definition DateTime.h:76
Definition GenericPlatformCrashContext.h:355
FSHAHash ActiveHash
Definition GenericPlatformCrashContext.h:358
FString BreadcrumbString
Definition GenericPlatformCrashContext.h:356
FSHAHash FullHash
Definition GenericPlatformCrashContext.h:357
Definition GenericPlatformCrashContext.h:331
FString Version
Definition GenericPlatformCrashContext.h:364
static constexpr TCHAR const CurrentVersion[]
Definition GenericPlatformCrashContext.h:337
EState
Definition GenericPlatformCrashContext.h:340
TMap< FString, FQueueData > Queues
Definition GenericPlatformCrashContext.h:362
TCHAR static const constexpr StateChars[]
Definition GenericPlatformCrashContext.h:347
FString SourceName
Definition GenericPlatformCrashContext.h:363
FGPUBreadcrumbCrashData(TCHAR const *InSourceName, TCHAR const *InVersion=CurrentVersion)
Definition GenericPlatformCrashContext.h:385
Definition GenericPlatformCrashContext.h:232
TCHAR Breadcrumbs[CR_MAX_GPU_BREADCRUMBS_STRING_CHARS]
Definition GenericPlatformCrashContext.h:236
TCHAR FullHash[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:234
TCHAR ActiveHash[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:235
TCHAR QueueName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:233
Definition GenericPlatformCrashContext.h:231
TCHAR Version[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:240
TCHAR SourceName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:239
FQueueData Queues[CR_MAX_GPU_BREADCRUMBS_QUEUES]
Definition GenericPlatformCrashContext.h:243
uint32 NumQueues
Definition GenericPlatformCrashContext.h:242
Definition GenericPlatformCrashContext.h:395
static CORE_API const TCHAR *const CrashTypeGPU
Definition GenericPlatformCrashContext.h:450
static CORE_API const TCHAR *const IsStallTag
Definition GenericPlatformCrashContext.h:425
static CORE_API const TCHAR *const CrashConfigPurgeDays
Definition GenericPlatformCrashContext.h:405
static CORE_API const TCHAR *const CrashTypeHang
Definition GenericPlatformCrashContext.h:451
TArray< FCrashStackFrame > CallStack
Definition GenericPlatformCrashContext.h:796
const TCHAR * ErrorMessage
Definition GenericPlatformCrashContext.h:794
void AddCrashProperty(const TCHAR *PropertyName, const Type &Value) const
Definition GenericPlatformCrashContext.h:568
static CORE_API const TCHAR *const IsSourceDistributionTag
Definition GenericPlatformCrashContext.h:442
static CORE_API const TCHAR *const CrashTypeVerseRuntimeError
Definition GenericPlatformCrashContext.h:454
CORE_API void CaptureThreadPortableCallStack(const uint64 ThreadId, void *Context)
Definition GenericPlatformCrashContext.cpp:1642
static CORE_API bool CreateCrashReportDirectory(const TCHAR *CrashGUIDRoot, int32 CrashIndex, FString &OutCrashDirectoryAbsolute)
Definition GenericPlatformCrashContext.cpp:1903
static CORE_API TOptional< int32 > GetOutOfProcessCrashReporterExitCode()
Definition GenericPlatformCrashContext.cpp:849
static CORE_API void CleanupPlatformSpecificFiles()
Definition AndroidPlatformCrashContext.cpp:95
static CORE_API FString GenerateNewCrashGuidBase()
Definition GenericPlatformCrashContext.cpp:327
virtual CORE_API void AddPortableThreadCallStacks(TConstArrayView< FThreadCallStack > Threads)
Definition GenericPlatformCrashContext.cpp:1704
static CORE_API void ResetEngineData()
Definition GenericPlatformCrashContext.cpp:1456
static CORE_API FString GetCrashGameName()
Definition GenericPlatformCrashContext.cpp:1375
static CORE_API void SerializeSessionContext(FString &Buffer)
Definition GenericPlatformCrashContext.cpp:905
static CORE_API const TCHAR *const RuntimePropertiesTag
Definition GenericPlatformCrashContext.h:411
virtual CORE_API void CaptureModules()
Definition GenericPlatformCrashContext.cpp:1717
static CORE_API void SetMemoryStats(const FPlatformMemoryStats &MemoryStats)
Definition GenericPlatformCrashContext.cpp:681
static CORE_API void AddHeader(FString &Buffer)
Definition GenericPlatformCrashContext.cpp:1292
static CORE_API const TCHAR *const CrashReportOptionalAttachmentsDirName
Definition GenericPlatformCrashContext.h:408
static CORE_API const TCHAR *const EngineDataTag
Definition GenericPlatformCrashContext.h:414
static CORE_API const TCHAR *const CrashContextExtension
Definition GenericPlatformCrashContext.h:410
static CORE_API void SetDeploymentName(const FString &EpicApp)
Definition GenericPlatformCrashContext.cpp:1140
static CORE_API void SetGameData(const FString &Key, const FString &Value)
Definition GenericPlatformCrashContext.cpp:1518
static CORE_API FString UnescapeXMLString(const FString &Text)
Definition GenericPlatformCrashContext.cpp:1365
static CORE_API const TCHAR *const IsAssertTag
Definition GenericPlatformCrashContext.h:426
virtual CORE_API void GetModules(TArray< FStackWalkModuleInfo > &OutModules) const
Definition GenericPlatformCrashContext.cpp:1723
static CORE_API const TCHAR *const CrashTypeAssert
Definition GenericPlatformCrashContext.h:447
static CORE_API FString GetTempSessionContextFilePath(uint64 ProcessID)
Definition GenericPlatformCrashContext.cpp:794
static CORE_API void AddFile(const FString &AbsoluteSourcePath)
Definition GenericPlatformCrashContext.cpp:1564
static CORE_API const TCHAR *const CrashTypeAbnormalShutdown
Definition GenericPlatformCrashContext.h:452
TArray< FStackWalkModuleInfo > ModulesInfo
Definition GenericPlatformCrashContext.h:798
static CORE_API const TCHAR *const CrashTypeCrash
Definition GenericPlatformCrashContext.h:446
static CORE_API const TCHAR *const IsPerforceBuildTag
Definition GenericPlatformCrashContext.h:440
static CORE_API const TCHAR *const NewLineTag
Definition GenericPlatformCrashContext.h:420
static CORE_API const TCHAR * GetCrashTypeString(ECrashContextType Type)
Definition GenericPlatformCrashContext.cpp:1380
static CORE_API void OnThreadUnstuck(uint32 ThreadId)
Definition GenericPlatformCrashContext.cpp:773
static CORE_API const TCHAR *const CrashTypeStall
Definition GenericPlatformCrashContext.h:449
static CORE_API void AppendPortableCallstack(FString &OutBuffer, TConstArrayView< FCrashStackFrame > StackFrames)
Definition GenericPlatformCrashContext.cpp:1233
static CORE_API const TCHAR *const PortableCallStackHashTag
Definition GenericPlatformCrashContext.h:435
static CORE_API const TMap< FString, FString > & GetEngineData()
Definition GenericPlatformCrashContext.cpp:1501
CORE_API void SetNumMinidumpFramesToIgnore(int32 InNumMinidumpFramesToIgnore)
Definition GenericPlatformCrashContext.cpp:1135
static CORE_API void AppendEscapedXMLString(FString &OutBuffer, FStringView Text)
Definition GenericPlatformCrashContext.cpp:1355
static CORE_API const TCHAR * GetDeploymentName()
Definition GenericPlatformCrashContext.cpp:1145
void SetCrashedProcess(const FProcHandle &Process)
Definition GenericPlatformCrashContext.h:685
virtual CORE_API void GetPortableCallStack(const uint64 *StackFrames, int32 NumStackFrames, TArray< FCrashStackFrame > &OutCallStack) const
Definition GenericPlatformCrashContext.cpp:1664
static CORE_API void CleanupTempSessionContextFiles(const FTimespan &ExpirationAge)
Definition GenericPlatformCrashContext.cpp:799
static CORE_API const TCHAR *const CrashTypeEnsure
Definition GenericPlatformCrashContext.h:448
static CORE_API const TCHAR *const RequestDataTag
Definition GenericPlatformCrashContext.h:416
FProcHandle ProcessHandle
Definition GenericPlatformCrashContext.h:791
virtual CORE_API void AddPortableThreadCallStack(uint32 ThreadId, const TCHAR *ThreadName, const uint64 *StackFrames, int32 NumStackFrames)
Definition GenericPlatformCrashContext.cpp:1712
static CORE_API const TCHAR *const PortableCallStackTag
Definition GenericPlatformCrashContext.h:434
static FEngineDataSetDelegate & OnEngineDataSetDelegate()
Definition GenericPlatformCrashContext.h:619
static CORE_API const TCHAR *const ConfigSectionName
Definition GenericPlatformCrashContext.h:404
static CORE_API const TCHAR *const CallStackTag
Definition GenericPlatformCrashContext.h:433
uint32 CrashedThreadId
Definition GenericPlatformCrashContext.h:793
static CORE_API const TCHAR *const UEMinidumpName
Definition GenericPlatformCrashContext.h:419
virtual ~FGenericCrashContext()
Definition GenericPlatformCrashContext.h:529
static CORE_API void AddFooter(FString &Buffer)
Definition GenericPlatformCrashContext.cpp:1298
static CORE_API const FGuid ExecutionGuid
Definition GenericPlatformCrashContext.h:461
static CORE_API void SetOutOfProcessCrashReporterExitCode(int32 ExitCode)
Definition GenericPlatformCrashContext.cpp:860
static CORE_API const TCHAR *const ExecutionGuidTag
Definition GenericPlatformCrashContext.h:422
static CORE_API const TCHAR *const DeploymentNameTag
Definition GenericPlatformCrashContext.h:412
CORE_API void CapturePortableCallStack(void *ErrorProgramCounter, void *Context)
Definition GenericPlatformCrashContext.cpp:1613
static CORE_API const TCHAR *const CrashContextRuntimeXMLNameW
Definition GenericPlatformCrashContext.h:399
static void AddCrashProperty(FString &Buffer, const TCHAR *PropertyName, const Type &Value)
Definition GenericPlatformCrashContext.h:574
static CORE_API const TCHAR * GetCrashConfigFolder()
Definition GenericPlatformCrashContext.cpp:1416
static CORE_API const TCHAR *const IsInternalBuildTag
Definition GenericPlatformCrashContext.h:439
virtual CORE_API const TCHAR * GetCallstackProperty() const
Definition GenericPlatformCrashContext.cpp:1125
CORE_API const bool IsFullCrashDump() const
Definition GenericPlatformCrashContext.cpp:1160
static void SetOutOfProcessCrashReporterPid(uint32 ProcessId)
Definition GenericPlatformCrashContext.h:506
static CORE_API const FSessionContext & GetCachedSessionContext()
Definition GenericPlatformCrashContext.cpp:611
static CORE_API const TMap< FString, FString > & GetGameData()
Definition GenericPlatformCrashContext.cpp:1548
static CORE_API const TCHAR *const PlatformPropertiesTag
Definition GenericPlatformCrashContext.h:413
static CORE_API const TCHAR *const EnabledPluginsTag
Definition GenericPlatformCrashContext.h:418
static CORE_API void InitializeFromContext(const FSessionContext &Context, const TCHAR *EnabledPlugins, const TCHAR *EngineData, const TCHAR *GameData, const TCHAR *FilePathData, const FGPUBreadcrumbsSharedContext *GPUBreadcrumbs)
Definition GenericPlatformCrashContext.cpp:540
static constexpr int32 CrashGUIDLength
Definition GenericPlatformCrashContext.h:444
static CORE_API void SetEngineData(const FString &Key, const FString &Value)
Definition GenericPlatformCrashContext.cpp:1462
static bool IsTypeContinuable(ECrashContextType Type)
Definition GenericPlatformCrashContext.h:746
virtual bool GetPlatformAllThreadContextsString(FString &OutStr) const
Definition GenericPlatformCrashContext.h:789
static CORE_API void SetEpicAccountId(const FString &EpicAccountId)
Definition GenericPlatformCrashContext.cpp:1451
static CORE_API const TCHAR *const EngineModeExDirty
Definition GenericPlatformCrashContext.h:457
static CORE_API void SetCrashTrigger(ECrashTrigger Type)
Definition GenericPlatformCrashContext.cpp:1150
static CORE_API const TCHAR *const LogFilePathTag
Definition GenericPlatformCrashContext.h:437
static CORE_API const TCHAR *const CrashGuidTag
Definition GenericPlatformCrashContext.h:423
static CORE_API void AddSection(FString &Buffer, const TCHAR *SectionName, const FString &SectionContent)
Definition GenericPlatformCrashContext.cpp:1313
static CORE_API void SetGPUBreadcrumbs(FGPUBreadcrumbCrashData &&Data)
Definition GenericPlatformCrashContext.cpp:1492
const FString & GetBuffer() const
Definition GenericPlatformCrashContext.h:543
static CORE_API const TCHAR *const SecondsSinceStartTag
Definition GenericPlatformCrashContext.h:431
static CORE_API void PurgeOldCrashConfig()
Definition GenericPlatformCrashContext.cpp:1426
virtual CORE_API void SerializeAsXML(const TCHAR *Filename) const
Definition GenericPlatformCrashContext.cpp:1173
static CORE_API const TCHAR *const IsRequestingExitTag
Definition GenericPlatformCrashContext.h:436
static CORE_API const TCHAR * GetCrashConfigFilePath()
Definition GenericPlatformCrashContext.cpp:1405
static CORE_API const TCHAR *const EngineModeExUnknown
Definition GenericPlatformCrashContext.h:456
static CORE_API void SetAnticheatProvider(const FString &AnticheatProvider)
Definition GenericPlatformCrashContext.cpp:755
static CORE_API const TCHAR *const CrashTypeOutOfMemory
Definition GenericPlatformCrashContext.h:453
virtual CORE_API void SetPortableCallStack(const uint64 *StackFrames, int32 NumStackFrames)
Definition GenericPlatformCrashContext.cpp:1659
static bool IsInitalized()
Definition GenericPlatformCrashContext.h:478
static CORE_API const ANSICHAR *const CrashContextRuntimeXMLNameA
Definition GenericPlatformCrashContext.h:398
static CORE_API void SetEngineExit(bool bIsRequestExit)
Definition GenericPlatformCrashContext.cpp:1130
static FGameDataResetDelegate & OnGameDataResetDelegate()
Definition GenericPlatformCrashContext.h:628
static FAdditionalCrashContextDelegate & OnAdditionalCrashContextDelegate()
Definition GenericPlatformCrashContext.h:678
static CORE_API const TCHAR *const CrashConfigExtension
Definition GenericPlatformCrashContext.h:403
static CORE_API const TCHAR *const CrashReporterMessageTag
Definition GenericPlatformCrashContext.h:429
static CORE_API void OnThreadStuck(uint32 ThreadId)
Definition GenericPlatformCrashContext.cpp:762
static CORE_API FString DumpLog(const FString &CrashFolderAbsolute)
Definition GenericPlatformCrashContext.cpp:1570
static CORE_API const TCHAR *const ProcessIdTag
Definition GenericPlatformCrashContext.h:438
static CORE_API const TCHAR *const GameNameTag
Definition GenericPlatformCrashContext.h:417
static FEngineDataResetDelegate & OnEngineDataResetDelegate()
Definition GenericPlatformCrashContext.h:610
static CORE_API void DumpAdditionalContext(const TCHAR *CrashFolderAbsolute)
Definition GenericPlatformCrashContext.cpp:1887
static FGameDataSetDelegate & OnGameDataSetDelegate()
Definition GenericPlatformCrashContext.h:634
CORE_API void SerializeContentToBuffer() const
Definition GenericPlatformCrashContext.cpp:1024
static CORE_API void EndSection(FString &Buffer, const TCHAR *SectionName)
Definition GenericPlatformCrashContext.cpp:1308
int NumMinidumpFramesToIgnore
Definition GenericPlatformCrashContext.h:795
static CORE_API const TCHAR *const BuildVersionTag
Definition GenericPlatformCrashContext.h:432
static CORE_API const TCHAR *const EngineModeExVanilla
Definition GenericPlatformCrashContext.h:458
static CORE_API FString GetGameName()
Definition GenericPlatformCrashContext.cpp:616
static CORE_API void BeginSection(FString &Buffer, const TCHAR *SectionName)
Definition GenericPlatformCrashContext.cpp:1303
static CORE_API const ANSICHAR *const CrashConfigFileNameA
Definition GenericPlatformCrashContext.h:401
static CORE_API const TCHAR *const CrashGUIDRootPrefix
Definition GenericPlatformCrashContext.h:406
static CORE_API const TCHAR *const CrashTypeTag
Definition GenericPlatformCrashContext.h:427
static CORE_API const TCHAR *const ErrorMessageTag
Definition GenericPlatformCrashContext.h:428
ECrashContextType Type
Definition GenericPlatformCrashContext.h:792
static CORE_API const TCHAR *const IsWithDebugInfoTag
Definition GenericPlatformCrashContext.h:441
static CORE_API const TCHAR *const GameDataTag
Definition GenericPlatformCrashContext.h:415
static CORE_API void CopySharedCrashContext(FSharedCrashContext &Dst)
Definition GenericPlatformCrashContext.cpp:622
static CORE_API const TCHAR *const IsEnsureTag
Definition GenericPlatformCrashContext.h:424
static CORE_API const TCHAR *const CrashVersionTag
Definition GenericPlatformCrashContext.h:421
static CORE_API const TCHAR *const CrashConfigFileNameW
Definition GenericPlatformCrashContext.h:402
TArray< FThreadStackFrames > ThreadCallStacks
Definition GenericPlatformCrashContext.h:797
static bool IsOutOfProcessCrashReporter()
Definition GenericPlatformCrashContext.h:487
static CORE_API void AddPlugin(const FString &PluginDesc)
Definition GenericPlatformCrashContext.cpp:1559
ECrashContextType GetType() const
Definition GenericPlatformCrashContext.h:741
CORE_API void GetUniqueCrashName(TCHAR *GUIDBuffer, int32 BufferSize) const
Definition GenericPlatformCrashContext.cpp:1155
static CORE_API void ResetGameData()
Definition GenericPlatformCrashContext.cpp:1512
static CORE_API const TCHAR *const AttendedStatusTag
Definition GenericPlatformCrashContext.h:430
static CORE_API void Initialize()
Definition GenericPlatformCrashContext.cpp:337
virtual CORE_API void CopyPlatformSpecificFiles(const TCHAR *OutputDirectory, void *Context)
Definition GenericPlatformCrashContext.cpp:1736
void SetCrashedThreadId(uint32 InId)
Definition GenericPlatformCrashContext.h:691
static uint32 GetOutOfProcessCrashReporterProcessId()
Definition GenericPlatformCrashContext.h:495
Definition GenericPlatformCrashContext.h:899
Definition Guid.h:109
Definition AndroidPlatformMemory.h:15
Definition AndroidPlatformProcess.h:13
Definition GenericPlatformStackWalk.h:43
Definition GenericPlatformCrashContext.h:949
FScopedAdditionalCrashContextProvider(TUniqueFunction< void(FCrashContextExtendedWriter &)> InFunc)
Definition GenericPlatformCrashContext.h:951
void Execute(FCrashContextExtendedWriter &Writer) const
Definition GenericPlatformCrashContext.h:962
~FScopedAdditionalCrashContextProvider()
Definition GenericPlatformCrashContext.h:957
Definition GenericPlatformCrashContext.h:163
TCHAR PrimaryGPUBrand[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:202
bool bWithDebugInfo
Definition GenericPlatformCrashContext.h:166
bool bIsUERelease
Definition GenericPlatformCrashContext.h:168
TCHAR ExecutableName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:190
TCHAR UserName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:203
TCHAR CrashGUIDRoot[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:205
uint64 OOMAllocationSize
Definition GenericPlatformCrashContext.h:183
TCHAR CPUBrand[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:201
uint32 CPUModelID
Definition GenericPlatformCrashContext.h:176
FPlatformMemoryStats MemoryStats
Definition GenericPlatformCrashContext.h:216
uint32 StuckThreadId
Definition GenericPlatformCrashContext.h:181
TCHAR PlatformNameIni[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:214
bool bIsSourceDistribution
Definition GenericPlatformCrashContext.h:167
TCHAR BuildConfigurationName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:191
TCHAR CommandLine[CR_MAX_COMMANDLINE_CHARS]
Definition GenericPlatformCrashContext.h:208
int32 LanguageLCID
Definition GenericPlatformCrashContext.h:173
bool bIsOOM
Definition GenericPlatformCrashContext.h:169
bool bIsInternalBuild
Definition GenericPlatformCrashContext.h:164
int32 CrashTrigger
Definition GenericPlatformCrashContext.h:180
uint32 CPUMicrocodeRevision
Definition GenericPlatformCrashContext.h:177
TCHAR AnticheatProvider[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:215
TCHAR OsSubVersion[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:199
TCHAR BuildVersion[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:186
TCHAR EpicAccountId[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:195
TCHAR CPUVendor[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:200
bool bIsPerforceBuild
Definition GenericPlatformCrashContext.h:165
int32 OOMAllocationAlignment
Definition GenericPlatformCrashContext.h:182
TCHAR DefaultLocale[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:204
int32 NumberOfCoresIncludingHyperthreads
Definition GenericPlatformCrashContext.h:175
TCHAR PlatformName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:213
uint32 ProcessId
Definition GenericPlatformCrashContext.h:172
TCHAR AttendedStatus[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:212
TCHAR LoginIdStr[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:196
bool bIsStuck
Definition GenericPlatformCrashContext.h:171
TCHAR GameSessionID[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:207
TCHAR UserActivityHint[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:206
int32 NumberOfCores
Definition GenericPlatformCrashContext.h:174
TCHAR EngineMode[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:188
bool bIsExitRequested
Definition GenericPlatformCrashContext.h:170
TCHAR EngineVersion[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:184
int32 SecondsSinceStart
Definition GenericPlatformCrashContext.h:178
TCHAR CrashReportClientRichText[CR_MAX_RICHTEXT_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:209
TCHAR GameStateName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:210
TCHAR SymbolsLabel[CR_MAX_SYMBOL_CHARS]
Definition GenericPlatformCrashContext.h:197
TCHAR EngineModeEx[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:189
int32 CrashDumpMode
Definition GenericPlatformCrashContext.h:179
TCHAR CrashConfigFilePath[CR_MAX_DIRECTORY_CHARS]
Definition GenericPlatformCrashContext.h:211
TCHAR OsVersion[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:198
TCHAR EngineCompatibleVersion[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:185
TCHAR DeploymentName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:192
TCHAR RootDir[CR_MAX_DIRECTORY_CHARS]
Definition GenericPlatformCrashContext.h:194
TCHAR GameName[CR_MAX_GENERIC_FIELD_CHARS]
Definition GenericPlatformCrashContext.h:187
TCHAR BaseDir[CR_MAX_DIRECTORY_CHARS]
Definition GenericPlatformCrashContext.h:193
Definition GenericPlatformCrashContext.h:251
void * ExceptionProgramCounter
Definition GenericPlatformCrashContext.h:288
uint32 EngineDataOffset
Definition GenericPlatformCrashContext.h:274
TCHAR DynamicData[CR_MAX_DYNAMIC_BUFFER_CHARS]
Definition GenericPlatformCrashContext.h:282
uint32 GameDataOffset
Definition GenericPlatformCrashContext.h:277
FSessionContext SessionContext
Definition GenericPlatformCrashContext.h:268
FGPUBreadcrumbsSharedContext GPUBreadcrumbs
Definition GenericPlatformCrashContext.h:291
uint32 ThreadIds[CR_MAX_THREADS]
Definition GenericPlatformCrashContext.h:254
uint32 EnabledPluginsNum
Definition GenericPlatformCrashContext.h:270
uint32 EnabledPluginsOffset
Definition GenericPlatformCrashContext.h:271
uint32 EngineDataNum
Definition GenericPlatformCrashContext.h:273
TCHAR ErrorMessage[CR_MAX_ERROR_MESSAGE_CHARS]
Definition GenericPlatformCrashContext.h:253
uint32 FilePathsNum
Definition GenericPlatformCrashContext.h:279
uint32 CrashingThreadId
Definition GenericPlatformCrashContext.h:257
TCHAR CrashFilesDirectory[CR_MAX_DIRECTORY_CHARS]
Definition GenericPlatformCrashContext.h:266
uint32 GameDataNum
Definition GenericPlatformCrashContext.h:276
uint32 NumThreads
Definition GenericPlatformCrashContext.h:256
ECrashContextType CrashType
Definition GenericPlatformCrashContext.h:258
void * ErrorProgramCounter
Definition GenericPlatformCrashContext.h:285
TCHAR ThreadNames[CR_MAX_THREAD_NAME_CHARS *CR_MAX_THREADS]
Definition GenericPlatformCrashContext.h:255
uint32 FilePathsOffset
Definition GenericPlatformCrashContext.h:280
FUserSettingsContext UserSettings
Definition GenericPlatformCrashContext.h:261
void * PlatformCrashContext
Definition GenericPlatformCrashContext.h:264
Definition GenericPlatformStackWalk.h:21
Definition GenericPlatformCrashContext.h:323
TConstArrayView< uint64 > StackFrames
Definition GenericPlatformCrashContext.h:324
const TCHAR * ThreadName
Definition GenericPlatformCrashContext.h:325
uint32 ThreadId
Definition GenericPlatformCrashContext.h:326
Definition GenericPlatformCrashContext.h:105
uint32 ThreadId
Definition GenericPlatformCrashContext.h:107
FString ThreadName
Definition GenericPlatformCrashContext.h:106
TArray< FCrashStackFrame > StackFrames
Definition GenericPlatformCrashContext.h:108
Definition Timespan.h:76
Definition GenericPlatformCrashContext.h:221
bool bSendUsageData
Definition GenericPlatformCrashContext.h:224
bool bSendUnattendedBugReports
Definition GenericPlatformCrashContext.h:223
bool bImplicitSend
Definition GenericPlatformCrashContext.h:225
bool bNoDialog
Definition GenericPlatformCrashContext.h:222
TCHAR LogFilePath[CR_MAX_DIRECTORY_CHARS]
Definition GenericPlatformCrashContext.h:226
Definition Optional.h:131
Definition UnrealString.h:202