BugSnag supports unminifying and demangling stacktraces using ProGuard files, NDK mapping files and LLVM debug symbol files (dSYMs) to show a full stacktrace with methods, file paths, and line numbers for JavaScript and native errors.
As part of the Unreal Engine plugin installation, the BugSnag Android Gradle Plugin will be automatically added and configured to upload mappings files for your Android builds in Shipping configurations, so your Java and C stacktraces will be symbolicated without any further setup required. To disable automatically uploading mapping files, set “Auto Upload Symbol Files (Android only)” (bAutoUploadSymbolFiles
) to false in Project Settings.
The API key must be specified in Project Settings to enable automatic upload of mapping files.
If you are using BugSnag On-premise, you will need to update the Endpoints section of the BugSnag plugin in Project Settings to match your server configuration. Configuring “Symbol Upload Endpoint” and “Releases Endpoint” are required for automatically uploading symbol files.
For Shipping builds of your application, you will need to upload dSYM files to BugSnag in order for stack traces to show file, line and function information.
To generate the necessary symbol files, we recommend enabling both
bGeneratedSYMFile
) and bGeneratedSYMBundle
) in Project Settings → Platforms → iOS → Build (or in your Config/DefaultEngine.ini
file).
After completing each app build, a dSYM bundle will be generated in the Binaries/IOS
folder. This bundle can then be uploaded to BugSnag using bugsnag-dsym-upload, a script for validating and uploading your dSYM files, which is available for download using Homebrew or by downloading the source:
$ bugsnag-dsym-upload --api-key <apikey> Binaries/IOS/<bundlename>.dSYM
If you are using BugSnag On-premise, you should supply your BugSnag Upload API endpoint by specifying the --upload-server
option.
With the default settings, Shipping builds will generate a non-bundled dSYM file — the same result as when bGeneratedSYMFile
is enabled but bGeneratedSYMBundle
is not. This file is in fact the DWARF information that BugSnag requires for symbolication, and the file that is extracted by bugsnag-dsym-upload
.
Should you wish to upload this file directly, you can use cURL:
curl --http1.1 \
-F apiKey=<apikey>
-F dsym=@Binaries/IOS/<bundlename>.dSYM \
https://upload.bugsnag.com/dsym
For Shipping builds of your application, you will need to upload dSYM files to BugSnag in order for stack traces to show file, line and function information.
After completing each app build, a dSYM file will be generated in the Binaries/Mac
folder as long as bDisableDebugInfo
has not been set to true
in your target file (.Target.cs
)
This file can then be uploaded to BugSnag using cURL:
curl --http1.1 \
-F apiKey=<apikey>
-F dsym=@Binaries/Mac/<bundlename>.dSYM \
https://upload.bugsnag.com/dsym
For further information see our iOS or macOS symbolication guides.