Crashes are a universally negative experience for users. Unlike bugs, crashes completely end the user session and a study shows that 80% of users will only attempt to use a problematic app three times or less before uninstalling. When your app crashes, you'll want to have a crash reporting tool in place to send you real-time crash reports whenever your app fails.
With Instabug’s crash reporting tool you'll have comprehensive crash reports sent to your dashboard instantly. Each Instabug crash report shows you a detailed picture of the running environment, the different threads’ states, the steps to reproduce the crash, the network request logs, and more contextual data.
Moreover, you can use Instabug’s crash reporting tool to manually log your handled exceptions or errors even if it doesn’t crash the app. Let's take a look the benefits of manually crashing your app to generate a crash report.
The benefits of manual crashing
The crash report that will be generated and sent is the same whether the crash caused is accidental or on purpose. Instabug’s crash reports provide a very detailed amount of data regarding the environment the app was running on prior to crashing. The benefit of manual crashing is mainly involved in the testing and development phase. Adding handled exceptions or errors at a point in your app will generate a crash report. This will let you observe your app’s behavior and get all the contextual data attached.
The amount of data you get with your crash reports is extensive and you can choose to add even more.
For more on how to report errors or handle exceptions manually with Instabug check our documentation.
Device information in Instabug crash reports
Instabug crash reports include default attributes as well as any custom user attributes that you set to be automatically sent to your dashboard with all crash occurrences.
Your similar crash occurrences will be grouped together. You can also sort and group crashes together based on different default and custom attributes.
These default attributes include app version, device, OS version, screen resolution, and more. This data will offer basic insight into the environment leading up to your manual crash. You can also find more detailed data in crash reports with stack traces, a session profiler, and attached logs.
Stack traces in Instabug's crash reports
Each Instabug crash report will include all the stack trace information on all the running threads. A stack trace will have a list of the method calls that the application was in the middle of when an exception was thrown. Instabug will highlight the most important frames in the stack trace. These highlighted frames are your app's frames. This will help you in the debugging process to know what methods your app was going through to reach your handled exception. In order to view these stack traces in a human-readable format, you will need to symbolicate/deobfuscate them.
Instabug's session profiler
The Session Profiler captures the state of the device as well as your app in the 60 seconds before a report is sent. Data is visualized in small graphs. The data breakdown includes:
- CPU usage of your application, captured every 0.5 seconds.
- Memory usage of your user's device, captured every 0.5 seconds.
- Storage used by the device, captured every 0.5 seconds.
- Connectivity details of the device (WiFi name, cellular connectivity type or "No connection"), captured every two seconds.
- Battery percentage of the device, captured every two seconds.
- Orientation state of the application (portrait or landscape mode), captured every two seconds.
Instabug crash report logs
Get deeper info with a variety of logs sent with each crash report. They appear within each report in your Instabug dashboard. You can customize and disable all of these to avoid any unnecessary data sent.
- User Steps: See each user action taken up until a crash report is sent
- Network Logs: Details of all network requests performed by your app and their responses
- Instabug Logs: Log statements and messages throughout your app lifecycle
- Console Logs: Instabug displays these in your dashboard alongside your other logs so you can spot patterns easily
- User Events: You can also log custom user events throughout your application
Release with confidence using Instabug crash reporting
With detailed information sent with every Instabug crash report, debugging and testing will be effortless and you'll increase your crash-free sessions. Instabug's crash reports are customizable by adding user attributes and events, as well as being able to control what data you want attached. You can also reply to affected users with in-app chats to keep them from churning.
- Prevent Churn by Replying to Crash Reports
- How to Get the Most Out of Instabug Crash Reports
- Why Does Your App Keep Crashing?