CRYENGINE


Enable BugSplat crash reporting in your CRYENGINE game with a few easy steps and leverage the most in-depth crash data on the market.

Building CRYENGINE


In order to get function names and line numbers for internal CRYENGINE code you'll need to build CRYENGINE from source and generate .pdb files. Make sure to build the engine with the Profile configuration so that .pdb files are generated. The following video gives an overview of how to clone and build the CRYENGINE source:

Next, upload all of the .pdb, .dll and .exe files in the bin folder using SendPdbs. Make sure to note the application name, version and database as you'll need these values later.

Project Configuration


In order to point the CRYENGINE crash reporter at BugSplat you'll need to make a few modifications to the .cryproject file for your project. Open the .cryproject file in a text editor and add the following snippet of JSON:

Make sure to replace {{application}}, {{version}}, and {{database}} with values specific to your game. Note these values must match the values you used when you uploaded symbols for CRYENGINE.

Building Your Game


In order to get function names and line numbers for your game's source you'll need to generate a solution so that you can output .pdb files for your game. Start by generating a solution for your game by right clicking the .cryproject file and selecting Generate Solution. Open the resulting .sln file in Visual Studio. Ensure that building the Game project will output .pdb files by right clicking the project and selecting Properties > C/C++ > General > Debug Information Format. Ensure this value is set to Program Database /Zi. Next, build the solution and upload the resulting files in bin using SendPdbs.

BugSplat CRYENGINE properties

Generating a Crash Report


Right click the .cryproject file for your game and select Launch Game. Once the game has launched press the ` (backtick) key on your keyboard to display the console. Type ?crash to ensure that all of the variables from the previous step have been loaded by your game. To generate a crash report, enter sys_crashrpt_generate into the console:

BugSplat CRYENGINE crash dialog

Viewing the Crash Report


After you've submitted a crash report, navigate to the Dashboard page. Click the link in the ID column to see the details of your crash report. In this case the last 4 stack frames are all related to the crash report generator and the frame of interest is the 5th frame of the call stack. Create a subkey by expanding the 5th row in the Active Thread and then click the Create Subkey button. Navigate back to the crash and notice that the Stack Key is now CrySystem!CXConsole::ExecuteCommand(2427) instead of CrySystem!CCrashHandler::GetExceptionPointers(1566).

BugSplat CRYENGINE crash details