Files
UnrealEngineUWP/Engine/Source/Developer/CrashDebugHelper/Private/Windows/WindowsPlatformStackWalkExt.h
Jaroslaw Surowiec f0b9bf883b CrashDebugHelper
- Minidump diagnostics run from the crash processor will always use the PDB cache and the MDD from the main branch
- Reimplemented PDB cache to support UE4 releases that are stored on the network drive
- Cleaned up a bit code, removed old or obsolete functionality
- PDB Cache is disabled by default, can be only enabled through the command line (should fix issues related to "\\Device\\Harddisk3\\DR3", somehow caused by the bad flash device driver when F:\\ is a generic flash reader?)

#codereview Bob.Tellez, James.Hopkin, Robert.Manuszewski

[CL 2212226 by Jaroslaw Surowiec in Main branch]
2014-07-14 06:53:12 -04:00

43 lines
1.0 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#pragma once
#undef PLATFORM_SUPPORTS_STACK_SYMBOLS
#define PLATFORM_SUPPORTS_STACK_SYMBOLS 1
class FCrashInfo;
class FCrashModuleInfo;
/**
* Windows implementation of stack walking using the COM interface IDebugClient5.
*/
struct FWindowsPlatformStackWalkExt
{
/** Default constructor. */
FWindowsPlatformStackWalkExt( FCrashInfo& InCrashInfo );
/** Destructor. */
~FWindowsPlatformStackWalkExt();
bool InitStackWalking();
void ShutdownStackWalking();
void GetExeFileVersionAndModuleList( FCrashModuleInfo& out_ExeFileVersion );
void InitSymbols();
bool OpenDumpFile( const FString& DumpFileName );
void SetSymbolPathsFromModules();
void GetModuleInfoDetailed();
void GetSystemInfo();
void GetThreadInfo();
void GetExceptionInfo();
bool GetCallstacks();
bool IsOffsetWithinModules( uint64 Offset );
static FString ExtractRelativePath( const TCHAR* BaseName, TCHAR* FullName );
protected:
/** Reference to the crash info. */
FCrashInfo& CrashInfo;
};