BugSplat Documents

Breakpad OS X breakpad_crashreporting_bugsplat_small

Crash reporting from BugSplat makes it simple to track and analyze the crashes experienced by your users.

Use the crash data collected by BugSplat to prioritize fixes, track defects, and understand the stability of your software.

To learn more about BugSplat sign up for a free trial.

Overview

In a few simple steps, your Breakpad-enabled application can be configured to send crash reports to BugSplat. For more information on Breakpad, see the Breakpad page.

Before starting make sure to download the BugSplat Breakpad for Mac package.

Configure your OS X Breakpad application to send reports to BugSplat.

  • Create a ‘Frameworks’ directory in the same directory as your .xcodeproj
  • Copy Breakpad.framework from BreakpadTester/Frameworks to the Frameworks directory created in Step 1.
  • In build settings of your Xcode project configure the following:
    • Set ‘Strip Style’ to ‘Non-Global Symbols’
    • Set ‘Use Separate Strip’ to Yes
    • Add the following user-defined settings
      1. BUGSPLAT_APP_NAME <the name of your application>
      2. BUGSPLAT_APP_VERSION <the version of your application>
      3. BUGSPLAT_DATABASE <your BugSplat database name>

  • In build phases of your Xcode project, do the following:

    1. Add Breakpad.framework to Link phase
    2. Add a new 'Copy Files' phase
    3. Set the destination to 'Frameworks'
    4. Add Breakpad.framework
    5. Add a new 'Run Script' phase and add the following: Frameworks/Breakpad.framework/Resources/dump_sdk_symbols -d ${BUGSPLAT_DATABASE} -a ${BUGSPLAT_APP_NAME} -v ${BUGSPLAT_APP_VERSION}>
    6. Check 'Run script only when installing'
  • Add the following to Info.plist:
  • <key>BreakpadVendor</key> <string>ORGANIZATION_NAME</string> <key>BreakpadURL</key> <string>http://${BUGSPLAT_DATABASE}.bugsplat.com/post/bp/crash/postBP.php</string> <key>BreakpadProductDisplay</key> <string>$(PRODUCT_NAME)</string> <key>BreakpadProduct</key> <string>${BUGSPLAT_APP_NAME}</string> <key>BreakpadVersion</key> <string>${BUGSPLAT_APP_VERSION}</string> <key>BreakpadRequestComments</key> <string>YES</string> <key>BreakpadRequestEmail</key> <string>YES</string>

  • Create Breakpad instance. This is typically done when the app is launched. See BreakpadTester AppDelegate for example.