Symbol Debugger minidump debugging

I have minidump files that were generated on our QA machines, and am trying to follow the following documentation to debug the minidump:

https://docs.unrealengine.com/latest/INT/Programming/Development/Tools/SymbolDebugger/index.html

  • I’ve set up the LocalSymbolStore in the WindowsEngine.ini config file.
  • I’ve set up the local symbol store in Visual Studio as well.
  • I’ve enabled source server support in Visual Studio
  • I’ve let Visual Studio know that p4.exe is a trusted command
  • I build the Symbol Debugger with Visual Studio

When I run the Symbol Debugger, I select the CrashDump method, I set the full path of the minidump file. When I click on Inspect nothing happens. Only the “Engine Ver:” field gets set to 0.

Am I missing something?

Thanks,
Filip

Hello,

  • Are you using a source or binary build of the engine?
  • Could you post a screenshot of what your Symbol Debugger looks like right before you hit Inspect?

I am source to build the Symbol Debugger, and our game is built using the binary build of the game. It looks like it is a windows crash regarding corrupt KERNELBASE.dll.

But here is a screen shot of the Symbol Debugger:

88490-capture.png

Are you sure that the directory for your symbol store is correct?

Hello,

I am marking this topic as resolved for tracking purposes, as we have not heard from you in a few days. If this issue persists, feel free to respond to this thread. For any new issues, please create a new Answerhub topic.

Have a great day

No luck here as well. I spent 1/2 a day fiddling with this. Assuming this tool is still relevant, I think someone from Epic should create a wiki tut using one of the project templates. The search results on Symbol Debugger are pretty slim.

Hey aoakenfoArchiact,

What is the exact issue that you’re finding yourself running into? Were you sure to set up the Source Control window that pops up when you open the debugger?

I eventually got Symbol Debugger to pick up the workspace. The trick was to have the Symbol Debugger (basically the compiled UE4 folder) under the P4 workspace folder when launching. After that, I set the *.dmp file and depot name to //depot/MyProject/ I click Inspect and nothing happens. Perhaps it’s the symbol store? I’m not entirely clear on that point. I configured it in VS2015 and and the engine .ini file to point to MyProject/Binaries/Win64.

Just as an update, I’m currently looking into the issue and will respond back with new information as soon as I have it.

Thanks for your patience!

Hello,

After further investigation and discussion with our developers, it appears that we no longer provide support for the Symbol Debugger, and are planning to remove the documentation as a result.

However, the code is available if you’d like to go through and debug it on your own.

Have a great day

If it is unsupported going forward, is there anything you can do to debug crashes in a build that does not show up in editor or when running through Visual Studio?

For certain crashes, you can try using the Windows Event Viewer and looking over the data gathered from that.

Here’s a guide on how to go about getting that set up: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums

Let me know if you have further questions.

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.

So I just received an email that the support staff marked his post from 10 months ago as the “correct answer” now that I submitted this one. I’d like to make it clear there was no answer marked when I posted mine. It really goes to show how much he cares when he wants your “correct answer” to be “go check out the source code for yourself, we don’t support it” rather than actually be pointed in the right direction to the specific method in the source code.

Moreover, that doesn’t even touch on the fact that the entire point of this post is to debug minidumps, for which I provided an “actual answer” where you can indeed debug a minidump; where again his answer is simply vague and doesn’t solve your real problem.

Therefore I’ll be sure to report this “support staff” to Epic Games Corporate since he doesn’t seen to have your best interests in mind. Have a nice day!

1 Like

Thanks for the info on the MinidumpDiagnostics tool. It’s been very helpful!

Is there a way to do this now?

1 Like

Yes, I still use the MinidumpDiagnostics.exe all the time. They just happened to finally remove it out of the engine completely in 4.25 or whenever it was. However you can still go back to older versions of the Unreal Engine to get the tool yourself, but it only works on UE4. Otherwise you will have to update the source code for UE5.

Perhaps I’ll provide my own version in the future, with support for a new web receiver project, since the engine developers cannot take the time to support any of this.