Hello, I stumbled upon this thread today with the hopes of getting the Symbols Debugger to work. My long term plan is to eventually get the Crash Report Receiver and Crash Report Processor up and running in a web infrastructure, but for the time being a quick and easy way to debug minidump files (without providing testers any PDBs) was desired. Since the developers can’t take the time to provide any support for these tools, I thought I’d share my findings for others that come across this thread.
First off, the Symbols Debugger isn’t going to work at all unless you obtain the engine source code. Why? Well if the developer providing support would have taken a few seconds to look at the source code of what happens when you hit the “Inspect” button, he would have noticed that all the code is commented out. The button will quite literally never do anything no matter what you do. You can see this for yourself in SymbolDebugger.cpp
in the FSymbolDebugger_AsyncInspect::DoWork()
method.
However the Symbols Debugger isn’t actually needed at all, instead just look for the following executable:
~\Engine\Binaries\Win64\MinidumpDiagnostics.exe
This file is downloaded when you run Setup.bat
and it should work out of the box even though it was compiled under 4.14, but there’s also source code provided here:
~\Engine\Source\Programs\CrashReporter\MinidumpDiagnostics\...
If you move this folder up one level into the Programs folder and run GenerateProjectFiles.bat
you can then manually compile the executable just as you would for UnrealLightmass
. After that you need to create the corresponding config file for this program:
~\Engine\Programs\MinidumpDiagnostics\Saved\Config\Windows\Engine.ini
Here are some sample settings to get you started:
[Engine.CrashDebugHelper]
DepotRoot=C:/CrashDebug/Source/
PDBCachePath=C:/CrashDebug/Cache/
PDBCacheSizeGB=250
MinDiskFreeSpaceGB=25
DaysToDeleteUnusedFilesFromPDBCache=3
PDBCache_0_Branch=++UE4+Release
PDBCache_0_ExecutablePathPattern=C:\CrashDebug\Binaries
PDBCache_0_SymbolPathPattern=C:\CrashDebug\Binaries
Your game EXE and PDB should be in the Binaries directory and the Cache directory can be left empty. You can also place your code in the Source folder but that’s optional. If you do it will not only provide a stack trace but also a few sample lines of code where the crash occurred.
Then you just run the executable from the command line using the following parameters:
MinidumpDiagnostics.exe UE4Minidump.dmp -log -SyncSymbols -bUsePDBCache=1
This will not only give you a stack trace in the console but also create a text file of the output in the same directory as the minidump file. So even though the developers can’t take the time out of their busy schedules to provide support for this (or can’t even remember that they nuked the Symbols Debugger) you can now easily debug your game without providing testers any PDB files.