Symbols overview

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

To debug compiled executables from native languages like C and C++, you need symbol files that contain mapping information to the source code. These files are created from source code during compilation and generally have the PDB (program database) extension. Azure Artifacts offers a dedicated symbols server to publish your symbols.

What are symbol files

Symbol files are created by the compiler when you build your project. A typical symbols file might contain: source indexers, local and/or global variables, function names and pointers to the addresses of their entry points, line numbers etc. This data can be used to link the debugger to your source code to debug your application.

Publish symbol files

Using the Index Sources and Publish Symbols task, you can publish your symbols to Azure Artifacts symbol server, file shares, or portable PDBs:

If your application uses the .NET standard, another viable option to share your symbols is to Create a .snupkg symbol package and publish it to NuGet.org.

Consume symbol files

Once the symbol files are published, you can use Visual Studio or WinDbg to consume the symbols and debug your application. The debugger will find the appropriate symbols using a unique ID that identifies the symbols associated with the compiled binary and link it to your source code.