← Blog/For Developers

How to Track Crashes & Errors in Mobile Apps

You cannot fix what you cannot see. Here is exactly how to set up crash tracking, what signals to monitor, and how to interpret reports before and after launch.

Mar 20, 2026·7 min read·AppTester.co Team

Most crashes happen on devices you don't own, on OS versions you haven't tested, in conditions you can't reproduce in a development environment. Without crash tracking, those failures are invisible: until a 1-star review appears.

Crash and error signal types

Fatal crash (hard crash)

App terminates immediately with no recovery

Priority

Critical: fix before any store submission

How to track

All crash tools capture these automatically. Sort by instance count × affected users.

ANR (App Not Responding)

Android only: app becomes unresponsive for 5+ seconds

Priority

Critical on Google Play: ANR rate is a Play Store ranking factor

How to track

Firebase Crashlytics tracks ANRs separately from crashes. Google Play Console also shows ANR data.

Non-fatal exception

An error is caught and handled, but logged: app continues running

Priority

High: indicates unstable states that can become fatal

How to track

Use Crashlytics.recordException() or Sentry.captureException() in your catch blocks.

Memory warning

iOS sends a low memory warning before potentially killing the app

Priority

Medium: often precedes a crash that won't appear in reports

How to track

Log UIApplicationDidReceiveMemoryWarningNotification as a breadcrumb event.

Network error (logged)

API calls fail, timeout, or return unexpected status codes

Priority

Medium-High: often the root cause of downstream crashes

How to track

Log all non-200 responses as breadcrumbs with endpoint, status code, and response time.

Crash tracking tools comparison

Firebase Crashlytics

iOS + Android

Free tier

Best-in-class crash grouping, breadcrumb trail, non-fatal event tracking. Integrates natively with Google Analytics. Free.

Best for: Teams already using Firebase for analytics, authentication, or performance monitoring.

Sentry

iOS + Android + Web

Free tier

Excellent stack trace deobfuscation, release tracking, issue assignment, Slack/GitHub integration. Free tier is generous.

Best for: Cross-platform teams who want unified error tracking across mobile and web in one dashboard.

Bugsnag

iOS + Android

Paid

App stability score, automated triage, breadcrumb recording, user impact metrics. Strong enterprise features.

Best for: Teams who need a stability score metric and advanced alerting for production monitoring.

Embrace

iOS + Android

Paid

Session replay, network request tracking, user journey analysis. Goes beyond crashes into full session observability.

Best for: Teams who need to understand the full context of a crash: what the user was doing, what networks were called, what the UI looked like.

Apple CrashReporter / Xcode Organizer

iOS only

Free tier

Apple aggregates crashes from all users who have consented to sharing. No SDK required. Available directly in Xcode.

Best for: Initial triage without adding a third-party SDK. Should always be checked even if Crashlytics is also integrated.

Before launch: crash testing checklist

Install your release build (not debug) on a physical device and run through all core flows

Test on at least one low-end or older device: crashes on flagships are rarer than crashes on mid-range hardware

Test offline: airplane mode, then reconnect mid-flow

Test with edge-case inputs: empty strings, very long text, special characters in form fields

Test rapid tapping: double-tap every button to check for duplicate action crashes

Test app backgrounding and foregrounding mid-flow (especially mid-payment or mid-upload)

Check Xcode Organizer / Play Console internal testing for any crashes from your internal testers

Run AppTester.co human testing: real devices across OS versions and manufacturers

Catch crashes before your users do

Real testers on real devices find crashes that your dev setup never will. Upload your APK or IPA and get a structured crash report within 48 hours.