Crash Report Content

This page covers the content found in crash reports.

Each crash report reaches your dashboard with all the information you need to resolve it.

Crash Overview

The crashes page in your dashboard lists all of your crash reports. When you select one, it opens the crash overview page, where you can find many details.

2888

An example of a crash report in the Instabug dashboard.

The graph above depicts the number of crashing sessions caused by this particular crash against the days of the previous month. Each line color represents a different app version.

Here are what the details in the crash page cover:

  • Exception & Crash Cause: Main application frame that caused the crash.
  • Max App Version: The highest version of the app where the crash occurred.
  • Occurrences: The number of times this crash has occurred.
  • Affected Users: The number of unique users that experienced this crash.
  • No. of Occurrences Per Day: Number of crashes on the Y-axis versus date on the X-axis.
  • OS: A breakdown of the percentage of crashes by OS version.
  • App Versions: A breakdown of the percentage of crashes by app version.
  • Devices: A breakdown of the percentage of crashes by device model.

Stack Trace

In each crash report, you can find the stack trace of the crash with the most important frames highlighted in blue. These highlighted frames are your application's frames. In order for these crashes to be readable, deobfuscation will be required. More information on obfuscation can be found here.

2888

An example of a stack trace in the Instabug dashboard.

Code Ownership

Sometimes, different stack traces are related to different teams within your organization. In an effort to allow for a more efficient method of assigning crash reports to the related teams, you can set up code ownership rules that use packages and filenames as conditions to allow for a more automated workflow.

In the rules page, you can use code ownership to check for specific packages and filenames, these are then compared against the first non-system frame in the stack trace.

When setting up the rule, Instabug supports partial matching of package names using the match condition (not case sensitive), let's take a look at some examples:

Sample Crash

Sample Package: com.instabug.crashes.list.singleCrash

Successful MatchUnsuccessful Match
- instabug
- com.instabug.crashes
- com.instabug.crashes.list
- instabug.crashes.list
- .crashes.list
- list.singleCrash
- com..instabug.crashes
- .com.instabug.crashes
- com.instabug.crashes.list.singleCrash.
- crashes.list.singleCrash.Occurrence
- instabug.cr.list
- crashes.instabug

Unsuccessful Matches:

  • com..instabug.crashes - contains an extra dot in the middle
  • .com.instabug.crashes - contains an extra dot before com
  • com.instabug.crashes.list.singleCrash. - contains an extra dot after singleCrash
  • crashes.list.singleCrash.Occurrence - actual path does not contain 'Occurrence'
  • instabug.cr.list - Instabug does not match partial words (cr and crashes in this case)
  • crashes.instabug - package is written in a wrong order

Occurrences

Each crash has occurrences, a unique instance of that crash. With each occurrence, you can find extra details about every instance, such as logs, Session Profiler, and User Attributes. You can go through these unique occurrences by clicking on the View Occurrences button.

2888

Click on this button to view details about each occurrence of a crash.

Tags

You can add tags to crash reports for filtering and analysis. More details regarding these tags can be found here.

2888

This is where tags appear in your crash reports.


What’s Next

Since you're now familiar with the content of a crash report, familiarize yourself with the content of the occurrence as well.