How to Upload Symbol Files with Symbol-Upload
Last updated
Was this helpful?
Last updated
Was this helpful?
Symbol-upload is a cross-platform application that automatically uploads as part of your build process and is the successor of . Each build of your product that sends crash reports must have an exact set of matching symbol files uploaded to BugSplat.
The symbol-upload tool can be installed by and used as a or a . We also provide a that can be added to your build workflow.
Alternatively, you can use one of the following terminal commands to download prebuilt binaries of , or download with your web browser via the .
If you download symbol-upload-macos via a web browser, Gatekeeper will block the application from running. To add the application to the system's allow list, run the following command in terminal
A group of symbols identified by their application name and version is called a symbol store. Symbol-upload automatically creates a new symbol store each time you upload symbols to a unique application and version combination. BugSplat's backend automatically removes symbol stores that haven't been accessed recently. Using our web application, you can manually delete a symbol store. Send symbols to BugSplat for every build on your build/integration server. There is no limit on the number of symbols you can post to BugSplat. However, by default, each symbol file must be smaller than 4 GB.
Running symbol-upload in a command window without any arguments shows the following usage information:
You can use the -r
flag to remove a symbol store instead of uploading. This is helpful when you create a new build but don't want to increment the build number.
MacOS and iOS builds typically generate .app
or .xcarchive
files. To upload bundled .dSYM
files, point symbol-upload at the .app
or .xcarchive
file, and use a glob that instructs symbol-upload to search for .dSYM
files recursively.
The symbol-upload repo also includes a GitHub Action that's compatible with the default Windows, macOS, and Linux images. Here's a snippet you can add to your workflow:
Credentials can be provided to symbol-upload via the -u
and -p
command-line arguments. OAuth2 Client ID and Client Secret credentials can also be provided for authentication via the -i
and -s
arguments and are created on the page.
The following is an example of how to invoke symbol-upload and search a directory recursively for .dll
, .pdb
, and .exe
files. Replace the values of your-bugsplat-database
, your-email
, and your-password
with your BugSplat database, email, and password. You can specify a for the -f
argument to match for files based on a pattern.
BugSplat can generate as part of the upload process. The Crashpad symbol files have a .sym
format and are useful for cross-platform applications. BugSplat has integrated into symbol-upload, which allows developers to skip building Breakpad. To generate a .sym
file at upload time, specify the -m
flag when invoking symbol-upload.
We have also created an demonstrating how to use the @bugsplat/symbol-upload action to upload symbols to BugSplat.
Customers located far away from our US-East hosting location, especially those with high-latency and high-bandwidth connections, sometimes report slow upload speeds. We have several reports of significantly faster uploads after following the advice in the Microsoft technical note: