NuGet Symbol Server

Cloudsmith provides public & private symbol server support for NuGet

The NuGet Symbol Server is a repository that stores and serves debugging symbols (PDB files) and source files for packages published.

By using the Symbol Server, developers can step through and debug their code more easily, even when working with compiled libraries or packages, as it provides access to the necessary debugging information.

For more information on Symbol Server, please see:

In the following examples:

IdentifierDescription
OWNERYour Cloudsmith account name or organization name (namespace)
REPOSITORYYour Cloudsmith Repository name (also called "slug")
TOKENYour Cloudsmith Entitlement Token (see Entitlements for more details)
USERNAMEYour Cloudsmith username
PASSWORDYour Cloudsmith password
API-KEYYour Cloudsmith API Key
PACKAGE_NAMEThe name of your package

Configuring Cloudsmith Repository as Symbol Server

📘

Private Cloudsmith repositories require authentication. You can choose between two types of authentication, Entitlement Token Authentication or HTTP Basic Authentication.

Each individual repository in Cloudsmith can be configured as a Symbol Server in Visual Studio. Only symbols within that repository will be served back to the debugger.

In Visual Studio, go to Tools > Options

Inside Options, on the menu to the left navigate to Debugging > Symbols, using the plus icon on the top-right, enter the URL of your repository, as follows:

https://nuget.cloudsmith.io/OWNER/REPOSITORY/download/symbols

If your repository is private, at this stage you might be asked for credentials, you can use either an entitlement token or your personal api key.

Username: token
Password: TOKEN
Username: USERNAME
Password: API-KEY

By default the debugger will only display and step into user code only, ignoring system code and other code that is optimized or does not have debugging symbols available locally. To allow Visual Studio to go fetch PDB symbols for imported nuget packages, the Just My Code option has to be disabled.

For this in the same Options screen, navigate to Debugging > General and disable Just My Code

You can now start a debug session, the first time you do it Visual Studio, if your repository is private, it will prompt you for credentials:

You can use either an entitlement token or your personal api key.

Username: token
Password: TOKEN
Username: USERNAME
Password: API-KEY

Troubleshooting

I have snupkg symbols in my repository but Visual Studio can't find them

If you had snupkg symbols uploaded from before this feature was released, it's possible that the pdb files are not indexed. Check in the UI in the Files tab if you see pdb files attached to your package

If you don't see one or more pdb files here, then do a Resync of your package to force a re-index.

If you do see pdb files then it's possible that Visual Studio is configured to not load the module you want to debug. To fix this in Visual Studio, head to Tools > Options, and navigate to Debugging > Symbols, on the bottom of the screen there's an option titled Automatic symbol loading preference

Set this to Load all modules, unless excluded


Cloudsmith is the new standard in Package / Artifact Management and Software Distribution

With support for all major package formats, you can trust us to manage your software supply chain.


Start My Free Trial Now
Cookie Declaration (Manage Cookies)