Fatal Issues and Crashes¶
Beta
This feature is currently experimental. APIs and behavior may change in future releases.
The Capture SDK can automatically detect, capture, and upload fatal issues and crashes that affect your app.
See the Product > Issues Feature Guide to learn more about how to navigate this information in the product.
Setup¶
Initialization requires toggling a flag (enableFatalIssueReporting
) passed into Logger.start()
Logger.start(
configuration = Configuration(enableFatalIssueReporting = true),
)
boolean enableFatalIssueReporting = true;
Logger.start(
new Configuration(
new SessionReplayConfiguration(),
enableFatalIssueReporting);
);
Logger.start(
configuration: Capture.Configuration(enableFatalIssueReporting: true),
)
Note
Fatal issue reports on iOS are uploaded only for actual devices and not simulators
#import <Capture/Capture.h>
CAPConfiguration *config = [[CAPConfiguration alloc]
initWithEnableFatalIssueReporting:YES
enableURLSessionIntegration:YES];
[CAPLogger
startWithAPIKey:@"your-api-key"
sessionStrategy: [CAPSessionStrategy activityBased]
configuration:config];
Note
Fatal issue reports on iOS are uploaded only for actual devices and not simulators
Info
Fatal issue reports and their session information are uploaded automatically and do not require a workflow to be running.
Uploading Debug Information Files¶
To generate human readable stack traces, bitdrift needs your apps' debug information files.
bd cli tool¶
Our command-line tool makes it easy to upload debug information files to bitdrift.
Installation¶
Homebrew (macOS)¶
To install the CLI directly on your Mac, use Homebrew:
brew tap bitdriftlabs/bd
brew install bd
Direct Download¶
Direct downloads for other platforms are also available, which are especially useful for integrating into your CI or release process.
Info
Latest version of bd-cli is 0.1.33-rc.1
Usage¶
bd debug-files upload-proguard
--api-key <API_KEY>
--app-id <APP_ID>
--app-version <APP_VERSION>
--version-code <VERSION_CODE>
<PROGUARD_MAPPING_FILE>
bd debug-files upload
--api-key <API_KEY>
<DSYM_FILE_OR_DIRECTORY
Gradle Tasks¶
Starting with version 0.17.28, symbol upload can also be done via gradle tasks. To enable them, you must first enable the capture plugin at build time in your build.gradle
file:
plugins {
id("io.bitdrift.capture-plugin") version "<version>"
}
plugins {
id 'io.bitdrift.capture-plugin' version '<version>'
}
The bdUpload
gradle tasks will now be available under the "Upload" group:
Upload tasks
------------
bdUpload - Upload all symbol and mapping files to Bitdrift
bdUploadMapping - Upload mapping to Bitdrift
bdUploadSymbols - Upload symbols to Bitdrift
Note: You must set the API_KEY
environment variable to call these tasks:
API_KEY=MY-API-KEY ./gradlew bdUploadMapping
or:
export API_KEY=MY-API-KEY
./gradlew bdUploadMapping