Skip to content

Repo sync for protected branch #10467

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Nov 4, 2024
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
52 changes: 26 additions & 26 deletions docs/debugger/debug-interface-access/symtagenum.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: "Specifies the type of symbol."
title: "SymTagEnum"
ms.date: "07/22/2024"
ms.date: "11/4/2024"
ms.topic: "reference"
dev_langs:
- "C++"
Expand Down Expand Up @@ -72,16 +72,16 @@ enum SymTagEnum {
| Element | Description |
-------------------------- | ---------------------------------------------------------------------------------------- |
| `SymTagNull` | Indicates that the symbol has no type. |
| `SymTagExe` | Indicates that the symbol is an .exe file.</br>There is only one `SymTagExe` symbol per symbol store.</br>It serves as the global scope and does not have a lexical parent. |
| `SymTagCompiland` | Indicates the compiland symbol for each compiland component of the symbol store.</br>For native applications, `SymTagCompiland` symbols correspond to the object files linked into the image. For some kinds of Microsoft Intermediate Language (MSIL) images, there is one compiland per class. |
| `SymTagCompilandDetails` | Indicates that the symbol contains extended attributes of the compiland.</br>Retrieving these properties may require loading compiland symbols. |
| `SymTagExe` | Indicates that the symbol is an .exe file.</br> there's only one `SymTagExe` symbol per symbol store.</br> It serves as the global scope and doesn't have a lexical parent. |
| `SymTagCompiland` | Indicates the compiland symbol for each compiland component of the symbol store.</br> For native applications, `SymTagCompiland` symbols correspond to the object files linked into the image. For some kinds of Microsoft Intermediate Language (MSIL) images, there's one compiland per class. |
| `SymTagCompilandDetails` | Indicates that the symbol contains extended attributes of the compiland.</br> Retrieving these properties may require loading compiland symbols. |
| `SymTagCompilandEnv` | Indicates that the symbol is an environment string defined for the compiland. |
| `SymTagFunction` | Indicates that the symbol is a function. |
| `SymTagBlock` | Indicates that the symbol is a nested block. |
| `SymTagData` | Indicates that the symbol is data. |
| `SymTagAnnotation` | Indicates that the symbol is for a code annotation.</br>Children of this symbol are constant data strings (`SymTagData`, `LocIsConstant`, and `DataIsConstant`).</br>Most clients ignore this symbol. |
| `SymTagAnnotation` | Indicates that the symbol is for a code annotation.</br> Children of this symbol are constant data strings (`SymTagData`, `LocIsConstant`, and `DataIsConstant`).</br> Most clients ignore this symbol. |
| `SymTagLabel` | Indicates that the symbol is a label. |
| `SymTagPublicSymbol` | Indicates that the symbol is a public symbol. For native applications,</br>this symbol is the COFF external symbol encountered while linking the image. |
| `SymTagPublicSymbol` | Indicates that the symbol is a public symbol. For native applications, this symbol is the COFF external symbol encountered while linking the image. |
| `SymTagUDT` | Indicates that the symbol is a user-defined type (structure, class, or union). |
| `SymTagEnum` | Indicates that the symbol is an enumeration. |
| `SymTagFunctionType` | Indicates that the symbol is a function signature type. |
Expand All @@ -97,8 +97,8 @@ enum SymTagEnum {
| `SymTagUsingNamespace` | Indicates that the symbol is a namespace name active in the current scope. |
| `SymTagVTableShape` | Indicates that the symbol is a virtual table description. |
| `SymTagVTable` | Indicates that the symbol is a virtual table pointer. |
| `SymTagCustom` | Indicates that the symbol is a custom symbol and is not interpreted by DIA. |
| `SymTagThunk` | Indicates that the symbol is a thunk used for sharing data between 16 and 32 bit code. |
| `SymTagCustom` | Indicates that the symbol is a custom symbol.</br> Microsoft Debug Interface Access (DIA) SDK doesn't provide further interpretation of these symbols. |
| `SymTagThunk` | Indicates that the symbol is a thunk used for sharing data between 16-bit and 32-bit code. |
| `SymTagCustomType` | Indicates that the symbol is a custom compiler symbol. |
| `SymTagManagedType` | Indicates that the symbol is in metadata. |
| `SymTagDimension` | Indicates that the symbol is a FORTRAN multi-dimensional array. |
Expand All @@ -108,37 +108,37 @@ enum SymTagEnum {
| `SymTagVectorType` | Indicates that the symbol is a vector type. |
| `SymTagMatrixType` | Indicates that the symbol is a matrix type. |
| `SymTagHLSLType` | Indicates that the symbol is a High Level Shader Language type. |
| `SymTagCaller` | Indicates that the symbol represents PGO caller information. |
| `SymTagCaller` | Indicates that the symbol represents Profile-guided optimization (PGO) caller information. |
| `SymTagCallee` | Indicates that the symbol represents PGO callee information. |
| `SymTagExport` | Indicates that the symbol is an export from a DLL. |
| `SymTagHeapAllocationSite`| Indicates that the symbol represents a heap allocation site (i.e. call to `operator new`)|
| `SymTagHeapAllocationSite`| Indicates that the symbol represents a heap allocation site (for example, a call to `operator new`)|
| `SymTagCoffGroup` | Indicates that the symbol is a COFF group. |
| `SymTagInlinee` | Indicates that the symbol represents the inlinee of an inline site (see `SymTagInlineSite`).|
| `SymTagTaggedUnionCase` | Indicates that the symbol is a tagged union (e.g. Rust's enum type) |
| `SymTagTaggedUnionCase` | Indicates that the symbol is a tagged union (for example, Rust's enum type) |

## Remarks

All symbols within a debug file have an identifying tag that specifies the symbol's type.

The values in this enumeration are returned by a call to the [IDiaSymbol::get_symTag](../../debugger/debug-interface-access/idiasymbol-get-symtag.md) method.
The [`IDiaSymbol::get_symTag`](../../debugger/debug-interface-access/idiasymbol-get-symtag.md) method returns values from this enumeration.

The values in this enumeration are passed to the following methods to limit the scope of the search to a specific symbol type:

- [`IDiaSession::findSymbolByAddr`](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md)
`
- [`IDiaSession`::findSymbolByRVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md)
`
- [`IDiaSession`::findSymbolByRVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md)
`
- [`IDiaSession`::findSymbolByToken`](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md)
`
- [`IDiaSession`::findSymbolByVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md)
`
- [`IDiaSession`::findSymbolByVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md)
`
- [`IDiaSession`::findChildren`](../../debugger/debug-interface-access/idiasession-findchildren.md)
`
- [`IDiaSymbol`::findChildren`](../../debugger/debug-interface-access/idiasymbol-findchildren.md)

- [`IDiaSession::findSymbolByRVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md)

- [`IDiaSession::findSymbolByRVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md)

- [`IDiaSession::findSymbolByToken`](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md)

- [`IDiaSession::findSymbolByVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md)

- [`IDiaSession::findSymbolByVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md)

- [`IDiaSession::findChildren`](../../debugger/debug-interface-access/idiasession-findchildren.md)

- [`IDiaSymbol::findChildren`](../../debugger/debug-interface-access/idiasymbol-findchildren.md)

## Requirements

Expand Down
6 changes: 5 additions & 1 deletion docs/debugger/using-breakpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,11 @@ To set a default breakpoint group, right-click a group and select **Set as defau

### Export and import breakpoints

To save or share the state and location of your breakpoints, you can export or import them.
To save or share the state and location of your breakpoints, you can export or import them.

::: moniker range=">= vs-2022"
Starting in Visual Studio 2022 version 17.12 Preview 3, breakpoint groups are also included with the exported and imported breakpoints.
::: moniker-end

- To export a single breakpoint to an XML file, right-click the breakpoint in the source code or **Breakpoints** window, and select **Export** or **Export selected**. Select an export location, and then select **Save**. The default location is the solution folder.
- To export several breakpoints, in the **Breakpoints** window, select the boxes next to the breakpoints, or enter search criteria in the **Search** field. Select the **Export all breakpoints matching the current search criteria** icon, and save the file.
Expand Down
Loading