Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
MicrosoftPlatformCrashContext.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "GenericPlatform/GenericPlatformCrashContext.h"
7
9{
10 FMicrosoftPlatformCrashContext(ECrashContextType InType, const TCHAR* InErrorMessage)
11 : FGenericCrashContext(InType, InErrorMessage)
12 {
13 }
14
16
17 virtual void SetPortableCallStack(const uint64* StackTrace, int32 StackTraceDepth) override;
18 virtual void AddPortableThreadCallStack(uint32 ThreadId, const TCHAR* ThreadName, const uint64* StackFrames, int32 NumStackFrames) override;
19
20protected:
21 // Helpers
23
24 static void GetProcModuleHandles(const FProcHandle& Process, FModuleHandleArray& OutHandles);
25
27 const FProcHandle& Process,
28 const FModuleHandleArray& SortedModuleHandles,
29 const uint64* ProgramCounters,
30 int32 NumPCs,
31 TArray<FCrashStackFrame>& OutStackFrames);
32
33 virtual bool GetPlatformAllThreadContextsString(FString& OutStr) const override;
34
36 uint32 CrashedThreadId,
37 uint32 ThreadId,
38 const FString& ThreadName,
39 const TArray<FCrashStackFrame>& StackFrames,
40 FString& OutStr);
41
42};
ECrashContextType
Definition Enums.h:24819
FGenericCrashContext(ECrashContextType InType, const TCHAR *ErrorMessage)
virtual void SetPortableCallStack(const uint64 *StackTrace, int32 StackTraceDepth) override
FMicrosoftPlatformCrashContext(ECrashContextType InType, const TCHAR *InErrorMessage)
TArray< void *, TInlineAllocator< 128 > > FModuleHandleArray
virtual bool GetPlatformAllThreadContextsString(FString &OutStr) const override
static void GetProcModuleHandles(const FProcHandle &Process, FModuleHandleArray &OutHandles)
virtual void AddPortableThreadCallStack(uint32 ThreadId, const TCHAR *ThreadName, const uint64 *StackFrames, int32 NumStackFrames) override
static void AddThreadContextString(uint32 CrashedThreadId, uint32 ThreadId, const FString &ThreadName, const TArray< FCrashStackFrame > &StackFrames, FString &OutStr)
static void ConvertProgramCountersToStackFrames(const FProcHandle &Process, const FModuleHandleArray &SortedModuleHandles, const uint64 *ProgramCounters, int32 NumPCs, TArray< FCrashStackFrame > &OutStackFrames)