Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .openpublishing.redirection.csharp.json
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,14 @@
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8176.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/iterator-yield"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8177.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8178.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8373.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors"
Expand All @@ -819,10 +827,18 @@
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8401.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/feature-version-errors"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8403.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8410.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8411.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/async-await-errors"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8417.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/using-statement-declaration-errors#implementing-idisposable-and-iasyncdisposable"
Expand Down Expand Up @@ -2925,6 +2941,14 @@
"source_path_from_root": "/docs/csharp/misc/cs3016.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/array-declaration-errors"
},
{
"source_path_from_root": "/docs/csharp/misc/cs8506.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/pattern-matching-warnings"
},
{
"source_path_from_root": "/docs/csharp/language-reference/compiler-messages/cs8515.md",
"redirect_url": "/dotnet/csharp/language-reference/compiler-messages/pattern-matching-warnings"
},
{
"source_path_from_root": "/docs/csharp/namespaces-and-assemblies.md",
"redirect_url": "/dotnet/csharp/fundamentals/types/namespaces"
Expand Down
26 changes: 13 additions & 13 deletions docs/azure/includes/dotnet-all.md

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions docs/azure/includes/dotnet-new.md

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion docs/core/diagnostics/symbols.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
title: Symbols in .NET
description: An introduction to symbols and portable PDBs in .NET
ms.date: 02/08/2021
ms.date: 03/12/2026
ai-usage: ai-assisted
---

# Symbols
Expand All @@ -20,6 +21,9 @@ A PDB file is an auxiliary file produced by a compiler to provide other tools, e

The Portable PDB format was introduced in .NET Core, and it's used by default when targeting .NET. When targeting .NET Framework, you can enable portable PDB symbols by specifying `<DebugType>portable</DebugType>` in your project file. The portable PDB format is based on ECMA-335 metadata format. For more information, see [Portable PDB v1.0: Format Specification](https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md). Diagnostic tools can use the <xref:System.Reflection.Metadata> library to read portable PDB files (for an example, see <xref:System.Reflection.Metadata.Document?displayProperty=nameWithType>).

> [!CAUTION]
> The <xref:System.Reflection.Metadata> library is not designed to handle untrusted input. Malformed or malicious PDB files can cause unexpected behavior, including out-of-bounds memory access, crashes, or hangs. Only use this API with trusted files.

## Use the correct PDB format for your scenario

Neither portable PDBs nor Windows PDBs are supported everywhere. To decide which format to use, consider where your project will be used and debugged. If you have a project that you want to be able to use and debug in both formats, you can use different build configurations and build the project twice to support both types of consumer.
Expand Down
Loading
Loading