skip to Main Content

Resolving Crashes on Shipping Builds

While our game may be running without any issues in the editor or even in development builds, sometimes we need to resolve crashes that may take place in shipping configurations only. In this post I’m going to demonstrate an easy workflow that you can use in order to debug your shipping builds.

Requirements before debugging the crash:

  • Editor Symbols for Debugging. You can download these from the options menu in the Epic Games Launcher for the specific version of Unreal you’re using.
  • The .exe file that produces the crash of your build
  • The .dmp file of the crash. This is usually located in C:/Users/<YourUserName>/AppData/Local/<NameOfYourGame>/Saved/Crashes
  • A .pdb file (program debug database). These files are generated via Unreal every time you build your game.

It is important to note that the .pdb file you are using must match the actual build of the .exe file otherwise you will get false information as your IDE won’t be able to match your crash with the actual source code block that raises it. In other words, if your game has multiple versions and you need to resolve a crash in an older version you need to recompile your game in the same, older version. By keeping an organized source control process you should have access to the required older version of the source code! :)

I’m going to start off by showing how to do this in Rider and then move on to Visual Studio. In case you’re using VS feel free to entirely skip the Rider part (and vice versa!)

Rider Workflow

To debug your crash using rider follow the steps below:

  • Go to Run / Debug configurations and select Edit Configurations
  • In the menu that appears add a new configuration and select Native Core Dump Debug
  • In the Core Dump Debug window, configure the following properties:
    • Name (The name of your configuration – Can be named after the bug you’re currently looking for)
    • In the Core Dump Path set the .dmp file which was generated by the crash
    • In the Exe Path select the .exe file that raised the crash
    • In the Binaries search paths, add a new path and select the folder which contains the .pdb file for this particular build
Configuration menu in Rider
Setting up the core dump path file, exe path and binaries path

Once you set everything up, press alt+f5 or click debug in Rider and Rider will let you know about where the crash happened:

Now of course, line 802 is intended to crash the game in order for me to make this blog post! :)

Visual Studio workflow

To repeat the same process as above:

  • Open your Visual Studio without opening any project
  • Go to File->Open->File and open up your .dmp file
  • Once VS loads up the file:
    • Set the symbols path to match your project’s binaries
    • Click “Debug with Native Only”
  • Then, Visual Studio will point us to the exact same location that raised the crash, as did Rider :)
Visual Studio informing us about where the crash happened!
Avatar photo

This Post Has 0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back To Top