Visual C++ (native)
7 minute read

This document explains how your Microsoft Visual C++ application can be modified to provide full debug information on the BugSplat website when it crashes.

If you haven't already, please login to the BugSplat website. New users will need to create a free account here before proceeding.

Then Download and unzip the BugSplat software development kit for Microsoft Visual C++.

To get a feel for the BugSplat service before enabling your application, feel free to experiment with the myConsoleCrasher sample application. You can find the Visual Studio project file located in your download folder at ...\BugSplatNative\BugSplat\samples\myConsoleCrasher\myConsoleCrasher.vcxproj.

Run the sample application without the debugger attached to post a sample crash report to our public "Fred" database.

You may also want to browse the BugSplat Native API documentation.

Generating crash reports with your application


Add BugSplat to your application using the following steps:

  1. Include BugSplat.h.
  2. Create an instance of MiniDmpSender following the example in myConsoleCrasher. The MiniDmpSender constructor requires three parameters: BugSplat database, application name and version. The BugSplat database is created and selected on the Databases page. Typically, you will create a new database for each major release of your product. You supply application name and version to match your product release. These same values must be used when uploading symbol files for your application.
  3. Link your application to BugSplat.lib.
  4. Add BsSndRpt.exe, BugSplat.dll, and BugSplatRC.dll to your applications installer.

You should modify your build settings so that symbol files are created for release builds, e.g.,

Integrating BugSplat with C++ Integrating BugSplat with C++

Note: To get fully detailed call stacks and variable names for each crash on the BugSplat website, every time you build a release version of your application for distribution or internal testing, you should upload all .exe, .dll, and .pdb files for your product at on the Symbols Page. Better yet, use the SendPdbs application as part of your build process to automate symbol upload to BugSplat.

Test your application by forcing a crash and verifying that the BugSplat dialog appears and that crashes are posted to your BugSplat account.

Finally, make sure to check that symbol names in the call stack are resolved correctly. If they aren’t, double-check that the correct version of symbol files and all executables for your application have been uploaded on the Symbols Page.

Additional considerations

MyConsoleCrasher targets the v120_xp toolset which is not installed by later versions of Visual Studio. To build MyConsoleCrasher you may need to update the project's toolset and platform version.

The following steps are for Visual Studio 2017, other verisons of Visual Studio may require slightly different steps.

To update your project's toolset and platfrom version, right click your project in Visual Studio, then choose Properties. In the properties menu, change "Platform Toolset" to a version available in your environment and click OK to save your changes.

C++ Visual Studio Platform Toolset

Close the properties menu and right click the project again. This time choose the option to "Retarget Projects". Choose Windows SDK Version 10.* and click OK. You should now be able to build MyConsoleCrasher.

C++ Visual Studio Retarget Projects