BugSplat Key Concepts

The concepts below help explain the building blocks of BugSplat, from the crash report to dump files and navigating in the app. They'll help you quickly dive into the language of defeating nasty and difficult bugs.


Crash Report

This is the foundational unit of the BugSplat universe. BugSplat client libraries integrate with your code to capture exception information and send it to the BugSplat website. This package of information is called a crash report.


Database

Databases is the the highest order of organization inside of BugSplat.

Each Database usually corresponds with a different product that your company offers. Some users have only one database, but larger teams and companies will generally find value in utilizing multiple Database to keep their crashes from different products orversions of the same product separate.


Dump File

This file contains the program state such as call stack, register values, loaded modules and system information. In many environments, BugSplat creates a minidump file automatically at the time of a crash.


Error Handler

This is the logic to mitigate an error scenario and resume program execution or to capture forensic data for post-mortem analysis and exit program.


Exception

This is an anomalous or exceptional condition requiring special processing during computation.


Handled Exception

This is the exception that has logic to mitigate an error scenario such as to display a dialog to the user or reset values to their defaults. A program can continue execution after a handled exception.


Key Crash

This is an abstract object that represents all crashes that share the same x stack frames from the stack key to the top of the call stack. This may be a BugSplat-specific construct.


Stack Frame

This is one level of the call stack.


Stack Key

This is the stack key and BugSplat term for a specific function in a call stack. The stack key is used to group similar crash reports. The default stack key is the function at the top of the call stack. However, crash reports can be grouped by different levels too. See our sub key page for additional details on this.


Symbols

These are files that contain information to map information in the minidump file to file names and line numbers in source code.


Unhandled Exception

This is the unexpected exception where the surrounding code does not have logic to handle the scenario and can put the program into an unknown state.


Version

This is a version you can easily separate releases of your code inside of BugSplat. Typically, users will create a new version for each new release.

Using Versions is a useful way to track crashes that you want to keep separate. Many users find value in comparing and tracking crash rates, top crashes, and particularly tricky-to-fix crashes across their multiple Versions