Skip to content

Repo sync for protected branch #10337

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 28 commits into from
Aug 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
f455264
Checkpoint up to IDiaSession::addressForVA
grantri Jun 28, 2024
70a67b2
Fix metadata date & authors of new topics.
grantri Jul 2, 2024
da0b155
Clarify search paths
grantri Jul 2, 2024
99ed5fc
Escaping hell and other cleanup
grantri Jul 2, 2024
518265f
Various Project N APIs
grantri Jul 3, 2024
4c03f67
Function fragments
grantri Jul 5, 2024
99abd2b
Finished IDiaSession!!!!
grantri Jul 5, 2024
443ffea
Finished IDiaSessionEx
grantri Jul 5, 2024
473991a
Finished IDiaSymbol
grantri Jul 12, 2024
27db522
IDiaSymbol2 (Objective-C)
grantri Jul 12, 2024
4562784
IDIaSymbol3 (inlinees)
grantri Jul 12, 2024
bac3c21
IDiaSymbol2-7 and TOC
grantri Jul 12, 2024
c1f4fc2
IDiaSymbol8
grantri Jul 15, 2024
4ad8a73
IDiaSymbol9 and 10
grantri Jul 15, 2024
7133359
IDiaSymbol11
grantri Jul 16, 2024
c91f750
Minor editoral changes
wesleywiser Jul 16, 2024
e9d3be7
IDiaInputAssemblyFile
grantri Jul 18, 2024
23afb22
IDiaEnumSourceLink
grantri Jul 18, 2024
5f6f90b
EVerything reviewed
grantri Jul 19, 2024
ce4ac1b
Update TOC
grantri Jul 19, 2024
12dd609
Final review
grantri Jul 22, 2024
2a5152c
fix bad links
grantri Jul 23, 2024
7c56d7d
Add isOptimizedForSpeed
grantri Jul 26, 2024
aa8e006
Fixes to warnings and suggestions in DiaSDKUpdates (#3)
Mikejo5000 Aug 6, 2024
d697081
Update pfnminipdberrorcallback2.md
grantri Aug 6, 2024
b65972b
Merge pull request #12871 from grantri/DiaUpdates
Stacyrch140 Aug 6, 2024
47f730b
Merged main into live
mijacobs Aug 7, 2024
25f0b64
Merging changes synced from https://github.com/MicrosoftDocs/visualst…
Aug 7, 2024
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
61 changes: 61 additions & 0 deletions docs/debugger/debug-interface-access/common-hresult-values.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: Common HRESULT Values (Debug Interface Access SDK)
description: See a list of common HRESULT values returned by various APIs in the debug interface access (DIA) SDK.
ms.date: "7/2/2024"
ms.topic: "reference"
dev_langs:
- "C++"
helpviewer_keywords:
- "constants, HRESULT, DIA SDK"
- "DIA SDK, HRESULT, constants"
author: "grantri"
ms.author: "grantri"
manager: mijacobs
ms.subservice: debug-diagnostics
---

# Common HRESULT values (Debug Interface Access SDK)

The following `HRESULT` values are most commonly returned by APIs within the DIA SDK.

Here are the values listed in numeric order by value

|Value|Name|Description|
|-----------|-----------|-----------|
|0x806d0002|`E_PDB_USAGE`|invalid parameter or call order|
|0x806d0004|`E_PDB_FILE_SYSTEM`|Can't read or write file, out of disk space, etc.|
|0x806d0005|`E_PDB_NOT_FOUND`|PDB file not found|
|0x806d0006|`E_PDB_INVALID_SIG`|PDB signature does not match|
|0x806d0007|`E_PDB_INVALID_AGE`|PDB age mismatch|
|0x806d0008|`E_PDB_PRECOMP_REQUIRED`|Precompiled type information not found|
|0x806d0009|`E_PDB_OUT_OF_TI`|Out of debugger types|
|0x806d000c|`E_PDB_FORMAT`|Attempt to load or use a PDB with an incompatible or unsupported format|
|0x806d000d|`E_PDB_LIMIT`|Internal limit of PDB exceeded|
|0x806d000e|`E_PDB_CORRUPT`|PDB records or structure are corrupt|
|0x806d0011|`E_PDB_ILLEGAL_TYPE_EDIT`|Trying to edit types in read-only mode|
|0x806d0012|`E_PDB_INVALID_EXECUTABLE`|File is not recognized as a valid executable|
|0x806d0013|`E_PDB_DBG_NOT_FOUND`|.DBG file not found|
|0x806d0014|`E_PDB_NO_DEBUG_INFO`|No recognized debug information found|
|0x806d0015|`E_PDB_INVALID_EXE_TIMESTAMP`|Invalid timestamp of executable|
|0x806d0016|`E_PDB_RESERVED`|Undocumented error|
|0x806d0017|`E_PDB_DEBUG_INFO_NOT_IN_PDB`|Debug information is not in the PDB|
|0x806d0018|`E_PDB_SYMSRV_BAD_CACHE_PATH`|Bad cache location specified with symsrv|
|0x806d0019|`E_PDB_SYMSRV_CACHE_FULL`|symsrv cache is full|
|0x806d0064|`E_DIA_INPROLOG`|Cannot execute stack frame when in prolog|
|0x806d0065|`E_DIA_SYNTAX`|Error parsing frame program|
|0x806d0066|`E_DIA_FRAME_ACCESS`|Error accessing registers or memory|
|0x806d0067|`E_DIA_VALUE`|Error in computed value (e.g. divide by zero)|
|0x806d00C8|`E_DIA_COFF_ACCESS`|Error accessing OBJ, LIB or compiler generated PDB when querying a PDB produced by the linker with `/DEBUG:fastlink`|
|0x806d00C9|`E_DIA_COMP_PDB_ACCESS`|Error accessing compiler generated PDB|


## Requirements

Header: dia2.h

## See also

- [Reference](../../debugger/debug-interface-access/debug-interface-access-sdk-reference.md)
- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md)
- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md)

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Constants (Debug Interface Access SDK)
description: See a list of string constants that can be used to identify various sections of a program debug database (PDB) file through the Debug Interface Access (DIA) SDK.
ms.date: "11/04/2016"
ms.date: "07/22/2024"
ms.topic: "reference"
dev_langs:
- "C++"
Expand Down Expand Up @@ -32,6 +32,7 @@ The following are declared as C/C++ macros.
|`DiaTable_Dbg`|L"Dbg"|
|`DiaTable_InjSrc`|L"InjectedSource"|
|`DiaTable_FrameData`|L"FrameData"|
|`DiaTable_InputAssemblyFiles`|L"InputAssemblyFiles"|

## Example

Expand Down
48 changes: 48 additions & 0 deletions docs/debugger/debug-interface-access/cv-associationkind-e.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: CV_AssociationKind_e
description: Specifies the kind of association between two symbols.
ms.date: "07/15/2024"
ms.topic: "reference"
dev_langs:
- "C++"
helpviewer_keywords:
- "CV_AssociationKind_e enumeration"
author: "grantri"
ms.author: "grantri"
manager: twhitney
ms.subservice: debug-diagnostics
---

# `CV_AssociationKind_e`

Specifies the kind of association between two symbols.

## Syntax

```c++
typedef enum CV_AssociationKind_e
{
CV_ASSOCIATIONKIND_NONE,
CV_ASSOCIATIONKIND_COROUTINE
} CV_AssociationKind_e;
```

## Elements

| Element | Description |
| ------------ | ---------------------------- |
| `CV_ASSOCIATIONKIND_NONE`| No associated symbol. |
| `CV_ASSOCIATIONKIND_COROUTINE`| Associated symbol is the primary coroutine function. |

## Remarks

Use the [`IDiaSymbol8::get_associatedSymbolKind`](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md) method to retrieve the kind of associated between two symbols.

## Requirements

Header: cvconst.h

## See also

- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md)
- [`IDiaSymbol8::get_associatedSymbolKind`](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md)
87 changes: 87 additions & 0 deletions docs/debugger/debug-interface-access/cv-builtin-e.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: CV_builtin_e
description: Specifies the HLSL built in type kind.
ms.date: "07/15/2024"
ms.topic: "reference"
dev_langs:
- "C++"
helpviewer_keywords:
- "CV_builtin_e enumeration"
author: "grantri"
ms.author: "grantri"
manager: twhitney
ms.subservice: debug-diagnostics
---

# `CV_builtin_e`

Specifies the HLSL built in type kind.

## Syntax

```c++
typedef enum CV_builtin_e
{
// 0x0000 - 0x01ff - Reserved.
CV_BI_INVALID = 0x0000,

// 0x0200 - 0x03ff - HLSL types.

CV_BI_HLSL_INTERFACE_POINTER = 0x0200,
CV_BI_HLSL_TEXTURE1D = 0x0201,
CV_BI_HLSL_TEXTURE1D_ARRAY = 0x0202,
CV_BI_HLSL_TEXTURE2D = 0x0203,
CV_BI_HLSL_TEXTURE2D_ARRAY = 0x0204,
CV_BI_HLSL_TEXTURE3D = 0x0205,
CV_BI_HLSL_TEXTURECUBE = 0x0206,
CV_BI_HLSL_TEXTURECUBE_ARRAY = 0x0207,
CV_BI_HLSL_TEXTURE2DMS = 0x0208,
CV_BI_HLSL_TEXTURE2DMS_ARRAY = 0x0209,
CV_BI_HLSL_SAMPLER = 0x020a,
CV_BI_HLSL_SAMPLERCOMPARISON = 0x020b,
CV_BI_HLSL_BUFFER = 0x020c,
CV_BI_HLSL_POINTSTREAM = 0x020d,
CV_BI_HLSL_LINESTREAM = 0x020e,
CV_BI_HLSL_TRIANGLESTREAM = 0x020f,
CV_BI_HLSL_INPUTPATCH = 0x0210,
CV_BI_HLSL_OUTPUTPATCH = 0x0211,
CV_BI_HLSL_RWTEXTURE1D = 0x0212,
CV_BI_HLSL_RWTEXTURE1D_ARRAY = 0x0213,
CV_BI_HLSL_RWTEXTURE2D = 0x0214,
CV_BI_HLSL_RWTEXTURE2D_ARRAY = 0x0215,
CV_BI_HLSL_RWTEXTURE3D = 0x0216,
CV_BI_HLSL_RWBUFFER = 0x0217,
CV_BI_HLSL_BYTEADDRESS_BUFFER = 0x0218,
CV_BI_HLSL_RWBYTEADDRESS_BUFFER = 0x0219,
CV_BI_HLSL_STRUCTURED_BUFFER = 0x021a,
CV_BI_HLSL_RWSTRUCTURED_BUFFER = 0x021b,
CV_BI_HLSL_APPEND_STRUCTURED_BUFFER = 0x021c,
CV_BI_HLSL_CONSUME_STRUCTURED_BUFFER= 0x021d,
CV_BI_HLSL_MIN8FLOAT = 0x021e,
CV_BI_HLSL_MIN10FLOAT = 0x021f,
CV_BI_HLSL_MIN16FLOAT = 0x0220,
CV_BI_HLSL_MIN12INT = 0x0221,
CV_BI_HLSL_MIN16INT = 0x0222,
CV_BI_HLSL_MIN16UINT = 0x0223,
CV_BI_HLSL_CONSTANT_BUFFER = 0x0224,

// 0x0400 - 0xffff - Unused.

} CV_builtin_e;
```

## Remarks

Use the [`IDiaSymbol::get_builtInKind`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md) method to retrieve the built in type kind for a HLSL symbol.

> [!NOTE]
> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler.

## Requirements

Header: cvconst.h

## See also

- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md)
- [`IDiaSymbol::get_builtInKind`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md)
3 changes: 3 additions & 0 deletions docs/debugger/debug-interface-access/cv-cfl-lang.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ typedef enum CV_CFL_LANG {

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

> [!NOTE]
> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler.

## Requirements

Header: cvconst.h
Expand Down
54 changes: 54 additions & 0 deletions docs/debugger/debug-interface-access/cv-coroutinekind-e.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: CV_CoroutineKind_e
description: Get information about the CV_CoroutineKind_e enumeration type, which specifies the coroutine kind.
ms.date: "07/15/2024"
ms.topic: "reference"
dev_langs:
- "C++"
helpviewer_keywords:
- "CV_CoroutineKind_e enumeration"
author: "grantri"
ms.author: "grantri"
manager: twhitney
ms.subservice: debug-diagnostics
---

# CV_CoroutineKind_e

Specifies the couroutine kind.

## Syntax

```c++
typedef enum CV_CoroutineKind_e
{
CV_COROUTINEKIND_NONE,
CV_COROUTINEKIND_PRIMARY,
CV_COROUTINEKIND_INIT,
CV_COROUTINEKIND_RESUME,
CV_COROUTINEKIND_DESTROY
} CV_CoroutineKind_e;
```

## Elements

| Element | Description |
| ------------ | ---------------------------- |
| `CV_COROUTINEKIND_NONE`| Not a coroutine. |
| `CV_COROUTINEKIND_PRIMARY`| The original coroutine function. |
| `CV_COROUTINEKIND_INIT`| Initialization function, sets up the coroutine frame. |
| `CV_COROUTINEKIND_RESUME`| Resume function, contains the coroutine body code. |
| `CV_COROUTINEKIND_DESTROY`| Destroy function, tears down the coroutine frame. |

## Remarks

Use the [IDiaSymbol8::get_coroutineKind](../../debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md) method to retrieve the coroutine kind for a coroutine function.

## Requirements

Header: cvconst.h

## See also

- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md)
- [IDiaSymbol8::get_coroutineKind](../../debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md)
50 changes: 50 additions & 0 deletions docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: CV_HLSLMemorySpace_e Enumeration
description: Specifies the HLSL memory space kind.
ms.date: "07/15/2024"
ms.topic: "reference"
dev_langs:
- "C++"
helpviewer_keywords:
- "CV_HLSLMemorySpace_e enumeration"
author: "grantri"
ms.author: "grantri"
manager: twhitney
ms.subservice: debug-diagnostics
---

# `CV_HLSLMemorySpace_e` Enumeration

Specifies the HLSL memory space kind.

## Syntax

```c++
typedef enum CV_HLSLMemorySpace_e
{
// HLSL specific memory spaces

CV_HLSL_MEMSPACE_DATA = 0x00,
CV_HLSL_MEMSPACE_SAMPLER = 0x01,
CV_HLSL_MEMSPACE_RESOURCE = 0x02,
CV_HLSL_MEMSPACE_RWRESOURCE = 0x03,

CV_HLSL_MEMSPACE_MAX = 0x0F,
} CV_HLSLMemorySpace_e;
```

## Remarks

Use the [`IDiaSymbol::get_memorySpaceKind`](../../debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md) method to retrieve the memory space kind for an HLSL symbol.

> [!NOTE]
> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler.

## Requirements

Header: cvconst.h

## See also

- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md)
- [`IDiaSymbol::get_memorySpaceKind`](../../debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md)
Loading