> For the complete documentation index, see [llms.txt](https://docs.bugsplat.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bugsplat.com/guides/working-with-symbol-files/working-with-windows-symbols-in-bugsplat.md).

# Working with Symbol Files in Windows Environments

A common stumbling block for new BugSplat users is properly uploading symbols for Windows (native and .NET). [Symbols](/education/bugsplat-terminology.md#symbols) are files that contain information to map the data in a crash file to file names and line numbers in source code.

To make this issue easier, we’ve added a way to check whether symbols have been uploaded properly.

## How it works: <a href="#how-it-works" id="how-it-works"></a>

At the top of the Crash page, you will see a warning if you're missing symbols.

![Missing Symbols Alert](https://976110677-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LBMgmIcgkIXSUfnXDSv%2Fsync%2F7f69e2f3e8198da251d5f9ea6f68d2678396c542.png?generation=1631201324779957\&alt=media)

Once the data is obtained, the Function, Location, Exception Code, Environment, and Exception Message fields will be populated with all available information. If a crash is missing symbols, there will be various messages under the 'File' column in the 'Active Thread' tab indicating which symbols were missing. Make sure to upload the missing symbols (`.exe`,`.pdb`, and `.dll` files as indicated by the 'Active Thread' tab) to the symbol store for your application name and version via the [Versions](https://app.bugsplat.com/v2/versions) page. Or use [symbol-upload](/guides/working-with-symbol-files/upload-symbols-with-symbol-upload.md) to upload symbols using the command line. When uploading using [symbol-upload](https://docs.bugsplat.com/introduction/development/working-with-symbol-files/upload-symbols-with-symbol-upload), symbols are matched to crashes by their internal GUID. The application name and version used when uploading do not need to match those of the crash report.

![Missing Symbols in Active Thread](https://976110677-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LBMgmIcgkIXSUfnXDSv%2Fsync%2F7568308b84760ca11714eeaf72b21bb9e8de4cdf.png?generation=1631201324731611\&alt=media)

Additionally, you can click the 'Modules' tab to view information about all modules that were loaded on the system at crash time. In the modules table, you’ll be able to view if symbols have been properly uploaded for each module by looking at the value under the 'Status' column.

![Missing Symbols in Modules](https://976110677-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LBMgmIcgkIXSUfnXDSv%2Fsync%2F58f3d513be0f5f770a75ee1edc650c9a91cd799a.png?generation=1631201324851410\&alt=media)

The values under the status column are as follows:

* **deferred**: the debugger doesn’t need the module’s exe, dll, or pdb files to unwind the stack.
* **file not found**: the debugger needs the module’s exe, dll, or pdb files to unwind the stack, but the exe/dll with matching debug signature cannot be located.
* **no symbols loaded**: the debugger needs the module’s exe, dll, or pdb files to unwind the stack and the matching exe/dll has been located, but not the symbols.
* **pdb symbols** (or **private pdb symbols**): debugger needs the module’s exe, dll, or pdb files to unwind the stack and they have been loaded successfully.

Unfortunately, Microsoft doesn’t provide symbol information for all operating system modules, so “file not found” errors are fairly common.

The presence of a call stack warning that reads, “Stack unwind information not available. Following frames may be wrong,” indicates that the debugger lacked access to the files it needed.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.bugsplat.com/guides/working-with-symbol-files/working-with-windows-symbols-in-bugsplat.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
