Top 6 Crash Reporting and Bug Reporting Tools for Mobile Apps

by Vladimir Ivanov

5 May 2016

While talking about useful tools for mobile developers, we decided to talk about bug reporting and mobile app crash reporting. Bugs always appear in apps during the development process. Developers and testers have to go through several routine stages in order to submit every bug. Using bug reporting tools, it is easy to shorten this boring manual process to a few simple steps.

Bug reporting process

As you can see, bug reporting tools simplify the testing process significantly. We’ve evaluated different solutions available on the market today and selected several of the most useful and convenient solutions, from our point of view. By choosing one of these tools, you can optimize the work during a project and save lots of time and effort.

Bug Reporting Tools with Crash Report Function

1. InstaBug

InstaBug is built into the app to help users and testers submit their feedback and report bugs directly from the app.

Android requirements:

  • min SDK 14+
  • Support v7 library

iOS requirements:

  • Linking an app with the frameworks: AVFoundation, CoreMotion, CoreGraphics, CoreTelephony, SystemConfiguration, UIKit


  • Integrating with popular bug tracking tools: JIRA, GitHub, Slack, Trello, Zendesk, and Desk
  • Automatic reporting with every feedback from users or testers
  • Detailed data including smartphone OS, console logs, and steps to reproduce a bug
  • Option of live conversation with other users inside an app
  • Built-in Crash Reporting
  • Aggregate all data in tables and graphs and implement app monitoring
  • Collaboration with a project team

License: Commercial

2. Snaffu

Snaffu is an in-app bug reporting tool that allows logging bugs quickly and thoroughly. The bug summary is formed directly in the app.

Android requirements:

  • min SDK 15
  • Android 5.0 for video recording
  • Support v4 library

iOS requirements:

  • Xcode 6


  • Compatibility with bug tracking systems: JIRA, Asana, PivotalTracker
  • Embedded system of issue tracking
  • When it’s required, anyone can report a bug, not only the project team members
  • Automatically capturing logs and device details
  • Option to highlight the problem and record a video
  • Crash reporting: the next report can be completed. In other words, an app asks to report a bug that caused the crash
  • E-mail notifications
  • Offline work. The tool submits all gathered bugs when you go online

License: Commercial

3. Shaketobug

Shaketobug is a bug reporting library for Android. It allows users to send messages about bugs via UI screenshots and graphic notes made on the pictures.


  • Compatible with all OS versions


  • Users take an app screenshot with a bug, highlight the error and send it via specific form adding the device details
  • Mobile developers can customize some library characteristics. For example, UI for feedback, email support and others

License: Free

4. BugshotKit

BugshotKit is an in-app bug reporting tool for iOS with an ability to comment screenshots and console logs. It is dedicated exclusively to mobile developers and testers.


  • Compatible with all OS versions


  • It’s activated with one of the predefined gestures. As soon as you find a bug, you can open the report window with one motion and make a screenshot with NSLog() in live regime

License: Free with an option to donate to support the projects of the library author

Crash Reporting Tools

If a mobile developer uses a good bug reporting system, then in most cases it already includes a crash reporting function. However, not all mobile projects use these bug reporting tools.

When an app is released without any bug reporting system, another urgent question arises; what happens if the app crashes? An app developer must learn about app crashes as soon as possible, in order to respond to errors in real time and make updates promptly.

We can imagine the following scenario. An app crashes or becomes non-responsive. The device's operating system lets a user know that something goes wrong and asks for a detailed crash description. The user creates a report and sends it back to the OS request. The developer of the crashed app receive the report and fixes the error.

This is a naive outlook because, in 99% of cases, app users would simply ignore an OS request and wouldn’t spend the time to create a crash report. In this situation, all the mobile developer can do to get valuable insights about crashes is to use crash reporting tools. It is important to understand that when using these tools you can only get crash, not bug, reports.

Crush Reporting Tools: when something goes wrong you need a detailed crash description.

We’d like to mention two of the most popular tools for automatic crash reporting:

1. Crashlytics

Crashlytics is a crash reporting tool for iOS and Android that makes detailed reports about app failings and anticipates possible crash risks.


  • Compatible with all OS versions and suitable for all kinds of devices


  • Allows tracking a stack that leads to the crash
  • Does a deep analysis of an app in various directions and prioritizes the most interesting threads that are under risks
  • Does a search through all the custom data
  • Follows the state of the devices that an app runs on
  • Works both for iOS and Android. Evaluates system errors that can lead to crashes. For example, Crashlytics can find out whether the OS version affects crashes or not
  • It has a desktop version for mobile developers including all the analytics and data

License: Free

2. ACRA (Automated Crash Reporting for Android)

ACRA is a library for Android apps for automatic posting of crash reports to a GoogleDoc form. It is intended to help Android app developers to receive all information about app crashes or errors.


  • Min Android 2.2+


  • Allows Android developers to get all the crash data and logs without involving app users
  • Customized communication with users. A developer can choose how to inform an app user about the crash: by default in Android report or through some alternative way like dialog via messages
  • Makes a detailed crash report
  • Allows manually adding some variables or debug traces in the report
  • Allows sending error reports even if the app doesn’t crash
  • Reports can be kept offline and sent when an app restarts
  • It can be used with a personal report receiver script written by a developer

License: Free

At the beginning of this post, we described what a manual process of submitting a bug looks like. It consists of several stages that seem to be relatively simple but in fact, they take up precious time. Every mobile developer can agree that they’ve heard this at least once: “Dude, all testers are busy. Submit a bug”. Bug reporting is not as easy to implement as it appears on the surface.

Many of you would probably say that there is little left to do. You just need to distribute the resources optimally in order to track problems and quickly inform about bugs. However, the project team’s workload doesn’t allow this to happen regularly. The most reasonable solution is to use bug reporting tools. When choosing a particular program or library, it’s important to take into consideration whether it meets your requirements and opportunities, or not.

What bug reporting and crash reporting tools do you use? Let us know in the comments.



Filter by