You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Legacy code in CrashDebugHelper was dragging in SourceControl and AssetRegistry as dependencies for CrashReportClient. This dependency is no longer needed, as internal crashes now always perform local symbolification (either via symbols built locally, or synced via UGS). Syncing symbols from Perforce or a network drive is no longer needed or used. #rb Ben.Marsh #rnx [CL 9422370 by Jamie Dale in Dev-Core branch]
71 lines
1.9 KiB
C++
71 lines
1.9 KiB
C++
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "CrashDebugHelperWindows.h"
|
|
#include "CrashDebugHelperPrivate.h"
|
|
#include "WindowsPlatformStackWalkExt.h"
|
|
#include "Misc/Parse.h"
|
|
#include "Misc/CommandLine.h"
|
|
|
|
#include "Misc/EngineVersion.h"
|
|
|
|
#include "Windows/WindowsHWrapper.h"
|
|
#include "Windows/AllowWindowsPlatformTypes.h"
|
|
#include <DbgHelp.h>
|
|
|
|
bool FCrashDebugHelperWindows::CreateMinidumpDiagnosticReport( const FString& InCrashDumpFilename )
|
|
{
|
|
FWindowsPlatformStackWalkExt WindowsStackWalkExt( CrashInfo );
|
|
|
|
const bool bReady = WindowsStackWalkExt.InitStackWalking();
|
|
|
|
bool bResult = false;
|
|
if( bReady && WindowsStackWalkExt.OpenDumpFile( InCrashDumpFilename ) )
|
|
{
|
|
if (CrashInfo.BuiltFromCL != FCrashInfo::INVALID_CHANGELIST)
|
|
{
|
|
// Get the build version and modules paths.
|
|
FCrashModuleInfo ExeFileVersion;
|
|
WindowsStackWalkExt.GetExeFileVersionAndModuleList(ExeFileVersion);
|
|
|
|
// Init Symbols
|
|
WindowsStackWalkExt.InitSymbols();
|
|
|
|
// Set the symbol path based on the loaded modules
|
|
WindowsStackWalkExt.SetSymbolPathsFromModules();
|
|
|
|
// Get all the info we should ever need about the modules
|
|
WindowsStackWalkExt.GetModuleInfoDetailed();
|
|
|
|
// Get info about the system that created the minidump
|
|
WindowsStackWalkExt.GetSystemInfo();
|
|
|
|
// Get all the thread info
|
|
WindowsStackWalkExt.GetThreadInfo();
|
|
|
|
// Get exception info
|
|
WindowsStackWalkExt.GetExceptionInfo();
|
|
|
|
// Get the callstacks for each thread
|
|
WindowsStackWalkExt.GetCallstacks();
|
|
|
|
// Add the source file where the crash occurred
|
|
AddSourceToReport();
|
|
|
|
// Set the result
|
|
bResult = true;
|
|
}
|
|
else
|
|
{
|
|
UE_LOG( LogCrashDebugHelper, Warning, TEXT( "Invalid built from changelist" ) );
|
|
}
|
|
}
|
|
else
|
|
{
|
|
UE_LOG( LogCrashDebugHelper, Warning, TEXT( "Failed to open crash dump file: %s" ), *InCrashDumpFilename );
|
|
}
|
|
|
|
return bResult;
|
|
}
|
|
|
|
#include "Windows/HideWindowsPlatformTypes.h"
|