All Collections
Troubleshooting
Crash Reporting troubleshooting
Crash Reporting troubleshooting
Jordi Giménez avatar
Written by Jordi Giménez
Updated over a week ago

Bugfender Crash Reporting allows you to collect application crash events.

Here are the most common reasons why crash reporting might not be working properly in your application:

Make sure you have crash reporting enabled

During your application initialization, you should have a line similar to this one:

Bugfender.enableCrashReporting() 

If you installed the SDK a long time ago, before Crash Reporting was present, you might not have this line.

Debugging applications

Crash Reporting only works if you are not debugging the application.

If you want to test how Crash Reporting works, install your application on a real device and run it without attaching Xcode/Android Studio to it.

Beware, now that applications can be debugged wirelessly, that detaching the USB cable might not be enough. In Xcode, test with a Release build or detach the debugger in Debug builds:

Make sure you leave enough time for the report to be sent

The Bugfender SDK records logs and crashes, but does not send anything during the first 30 seconds of lifetime of your application, to let your application initialize without affecting user experience. After this time, Bugfender will start processing enqueued logs and crashes and sending them in the background. If you're testing crash reporting make sure to leave enough time for the crash reports to go out.

Interaction with other tools

If you have other crash reporting tools installed in your application there might be interactions and only one of them might work.

  • For the case of Crashlytics, install Bugfender first, Crashlytics last.

  • For other crash reporting tools, you might want to try both combinations to see which one works well.

If after trying these tips you are still unable to make it work, please contact us and our technical support will investigate it. 

Examples of ways to crash your app

Swift:

fatalError()

Objective-C:

@throw NSInternalInconsistencyException;

Java:

throw new RuntimeException("testing");

Kotlin:

throw RuntimeException("testing")

Javascript:

throw "testing";
Did this answer your question?