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:
- Publish symbols to Azure Artifacts symbol server.
- Publish symbols to a file share.
- Publish portable PDBs to Azure Artifacts symbol server.
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.