Crash reports

Bugsee automatically intercepts uncaught exceptions and sends crash reports on app restart. Refer to installation for more details.

Symbolication

JavaScript

We rely on sourcemaps to fill captured stack traces with proper methods, filenames and line numbers. To let this magic happen, you should upload sourcemaps for each build with bugsee-sourcemaps utility. Run it to generate and upload sourcemaps for your application before deploying it.

We also use application version to pick the right sourcemap for each crash report, hence make sure they are actually aligned. Both the bugsee-sourcemaps CLI tool and Bugsee instance running within your app have options to set/change the application versions.

By default, during Bugsee initialization, we will try to get version automatically. Similarly, CLI tool will pick the application version from package.json in your project's root. If versions in Android/iOS projects and in package.json file are in sync, then no extra actions are required. If not, then you can provide Bugsee with correct version using Bugsee.setAppVersion('<your_app_version>') method.

Native

To symbolicate crashes captured in native code, you should configure underlying Android and iOS projects following the instructions in the documentation for these SDKs. Refer to symbolication documentation for Android and iOS.

Example usage

By default, sourcemaps are generated by react-native CLI tool but you need to call it yourself to generate them. You will also need to trigger upload command for bugsee-sourcemaps to upload generated data. To simplify this process we provide make command which does all those steps for you. Below, we briefly describe the steps and give you command examples on how to upload sourcemaps in your generic development flow.

Debug builds

  • Open your React Native project
  • Make some changes
  • Build
  • Upload sourcemaps with:

!iOS

# Execute in project root or add project path as last parameter
bugsee-sourcemaps make -t <YOUR-TOKEN> \
-v <APP-VERSION> \
-p ios \
-c debug \
--overwrite

!Android

# Execute in project root or add project path as last parameter
bugsee-sourcemaps make -t <YOUR-TOKEN> \
-v <APP-VERSION> \
-p android \
-c debug \
--overwrite
  • Run your app

Release builds

IMPORTANT: For release builds, we strongly recommend to upload sourcemaps BEFORE deploying your app. That will guarantee your reports will not fail to symbolicate due to missing symbols.

  • Open your React Native project
  • Make some changes
  • Build
  • Upload sourcemaps with:

!iOS

# Execute in project root or add project path as last parameter
bugsee-sourcemaps make -t <YOUR-TOKEN> \
-v <APP-VERSION> \
-p ios \
-c release \
--overwrite

!Android

# Execute in project root or add project path as last parameter
bugsee-sourcemaps make -t <YOUR-TOKEN> \
-v <APP-VERSION> \
-p android \
-c release \
--overwrite
  • Deploy your build app to target Store