For the complete documentation index, see llms.txt. This page is also available as Markdown.

Symbol Servers

BugSplat can process crashes using symbol files stored in external symbol servers. BugSplat supports accessing HTTP/HTTPS servers and Amazon S3 Buckets. BugSplat caches files from external symbol servers, ensuring fast crash calculation. Please note that if BugSplat requests a file not present on your external symbol server, it will not try to access the file again for 6 hours. See Miss-Cache below.

Some organizations restrict access to their symbol servers by IP address. To allow access to BugSplat, add the IP addresses 23.22.79.2, 3.93.104.250, and 34.194.164.107 to your whitelist.

Miss-Cache

If BugSplat processes a crash that needs a symbol file your external symbol server doesn't have yet (or refuses to deliver for any other reason), BugSplat records that miss and won't ask your server for that file again for 6 hours. This keeps a burst of crashes referencing an unavailable symbol from turning into a request storm against your server.

The trade-off shows up when symbols arrive shortly after the crashes do. If you've recently uploaded symbols and call stacks still aren't resolving, the miss-cache is a likely culprit. Navigate to the Symbols page, expand your symbol server's row, and click Clear Miss-Cache. BugSplat will report how many entries it dropped and will request those files from your server again on the next lookup.

Expanded symbol server row showing the Clear Miss-Cache button
Clearing the miss-cache for an external symbol server

Clearing the miss-cache only affects future symbol lookups. Crashes that were already processed without symbols need to be reprocessed to pick up the newly available symbol files.

Directory Structure

The symbol-upload tool can be used to create a SymSrv directory structure for Windows symbols that is compatible with both BugSplat and Microsoft Visual Studio. Additionally, symbol-upload can also create a SymSrv directory structure for macOS and Crashpad symbols that is compatible with BugSplat.

To upload symbols to a local directory, provide the -l flag and a path where the symbols will be copied.

HTTPS

BugSplat can access symbol files over HTTPS. This method also supports Windows SymStore/SymProxy symbol servers. To connect an HTTPS symbol server to BugSplat, navigate to the Symbols page. Click the + Add Server button, and add a Host value.

For symbol servers hosted on Azure, you'll need to generate a Personal Access Token that has the Symbols (read) scope. Enter your Username and use the PAT for Password. Optionally, you may test the connection to your server by providing a path relative to the Host URL.

When testing a path, BugSplat will make a HEAD request to http[s]://username:token@your-server.com/path/to/test.pdb. Please ensure your server accepts HEAD requests with Basic Authentication to access this path.

AWS S3

For AWS S3 symbol servers, create a minimally permissive IAM User so BugSplat can access your S3 bucket. Modify this example policy and attach it to your newly created IAM User.

Once you create your IAM user, generate an access key/secret to allow BugSplat to access your S3 bucket. Navigate to the Symbols page and click + Add Server. Select AWS-S3 in the Type dropdown. Enter values for Access Key, Secret Key, Region, and Bucket Name, and click Add.

Adding an External S3 Symbol Server

Last updated

Was this helpful?