Uploading Files

Learn about uploading debug information files to Sentry.

The most straightforward way to provide Sentry with debug information file is to upload them using sentry-cli. Depending on your workflow, you may want to upload as part of your build pipeline or when deploying and publishing your application:

Depending on application type, target platform, and build configuration, the Sentry support for .NET may require uploading debug files in order to show a complete stack trace including file names and line numbers. This is especially true for mobile apps targeting Android or iOS, such as those developed with .NET MAUI.

To make this easier, the Sentry NuGet package (as of version 3.26.1) includes the Sentry CLI as a bundled tool, and will invoke it when building your project if the msbuild property SentryUploadSymbols is set to true (default to false). Refer to msbuild configuration for details.

The remaining information on this page describes invoking the Sentry CLI manually.

sentry-cli login
sentry-cli debug-files upload -o {YOUR ORGANISATION} -p {PROJECT} bin/Release

For all available options and more information refer to Uploading Debug Information.

Debug files should be uploaded before deploying or releasing your application so that crash reports can be processed. For manual testing, use the sentry-cli debug-files upload --wait before sending the first native crash or error event.

If you upload a file that was previously reported as missing by Sentry in a crash report, it may take up to one hour until Sentry starts using this file for new crash reports. Existing events and issues are not processed again.

In Sentry, your uploaded files are associated with projects. You can view and manage uploads at Project Settings > Debug Files. This screen displays the most important properties of debug files:

  1. The debug identifier. There may be multiple entries sharing the same identifier, if debug information is split across multiple files.
  2. The name of the debug file. Sentry uses the name on the file system when uploading the file using sentry-cli.
  3. The architecture, and type of the file. This can be used to distinguish files into executables and debug companions if their debug identifiers and names match.
  4. The debug information available in these files. This can include unwind, debug, symtab and sources.
  5. Metadata like the size and time of upload.

If multiple projects require the same file, it needs to be re-uploaded. Sentry does not access debug files stored in other projects to symbolicate crash reports.

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").