Skip to content

Repo sync for protected branch #10274

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 22 commits into from
Jun 13, 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
4 changes: 2 additions & 2 deletions docs/debugger/create-custom-views-of-managed-objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ In .NET Framework 2.0 code, Visual Basic doesn't support the DebuggerBrowsable a

There are two options to create a visualizer for a .NET type:

* **Using the VisualStudio.Extensibility SDK**: Starting in Visual Studio 2022 version 17.9, Visual Studio ships a new way to create custom visualizers that offers, among other things, simple extension installation, and the ability to target newer versions of .NET. This option is the recommended API, except in cases where the visualizer and the visualized type should ship together, or in cases where an older version of Visual Studio needs to be supported. For more information, see [Create Visual Studio debugger visualizers](../extensibility/visualstudio.extensibility/debugger-visualizer/debugger-visualizers.md).
* **Using Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer**: For more information on this approach, see [Custom visualizers](create-custom-visualizers-of-data.md).
- **Using the VisualStudio.Extensibility SDK:** Starting in Visual Studio 2022 version 17.9, Visual Studio ships a new way to create custom visualizers that offers, among other things, simple extension installation, and the ability to target newer versions of .NET. This option is the recommended API, except in cases where the visualizer and the visualized type should ship together, or in cases where an older version of Visual Studio needs to be supported. For more information, see [Create Visual Studio debugger visualizers](../extensibility/visualstudio.extensibility/debugger-visualizer/debugger-visualizers.md).
- **Using Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer:** For more information on this approach, see [Custom visualizers](create-custom-visualizers-of-data.md).

> [!NOTE]
> To create a visualizer for C/C++ objects, see [UIVisualizer element](../debugger/create-custom-views-of-native-objects.md#BKMK_UIVisualizer) within the [Natvis](../debugger/create-custom-views-of-native-objects.md) documentation. Also, see the [C/C++ custom visualizer sample](https://github.com/Microsoft/ConcordExtensibilitySamples/tree/master/CppCustomVisualizer) or the [SQLite native Debugger Visualizer](https://github.com/Microsoft/VSSDK-Extensibility-Samples/tree/master/SqliteVisualizer) sample.
Expand Down
2 changes: 1 addition & 1 deletion docs/debugger/create-custom-visualizers-of-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ For this reason, cast the `objectProvider` object to the updated interface.
- When sending objects, like commands or data, to the *debuggee-side* use the `IVisualizerObjectProvider2.Serialize` method to pass it to a stream, it will determine the best serialization format to use based on the runtime of the *debuggee* process.
Then, pass the stream to the `IVisualizerObjectProvider2.TransferData` method.

- If the *debuggee-side* visualizer component needs to return anything to the *debugger-side*, it will be located in the <xref:System.IO.Stream> object returned by the <xref:Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider.TransferData%2A> method. Use the `IVisualizerObjectProvider2.GetDeserializableObjectFrom` method to get an <xref:Microsoft.VisualStudio.DebuggerVisualizers.IDeserializableObject> instance from it and process it as required; or use <xref:Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider3.DeserializeFromJson%2A> if its a type that you know how to deserialize.
- If the *debuggee-side* visualizer component needs to return anything to the *debugger-side*, it will be located in the <xref:System.IO.Stream> object returned by the <xref:Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider.TransferData%2A> method. Use the `IVisualizerObjectProvider2.GetDeserializableObjectFrom` method to get an <xref:Microsoft.VisualStudio.DebuggerVisualizers.IDeserializableObject> instance from it and process it as required; or use <xref:Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider3.DeserializeFromJson%2A> if it's a type that you know how to deserialize.

Please refer to the [Special debuggee side considerations for .NET 5.0+](#special-debuggee-side-considerations-for-net-50) section to learn what other changes are required on the *debuggee-side* when using Binary Serialization is not supported.

Expand Down
2 changes: 1 addition & 1 deletion docs/debugger/debug-interface-access/cv-hreg-e.md
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ enum CV_HREG_e {
| ---------------------- | --------------------------------------------------------------------------- |
| CV_REG_* | Registers used by Intel 80x86 and ix86 processors and p-code. |
| CV_R68_* | Registers used by 68K processor. |
| CV_M4_* | <!-- docutune:ignoredChange 'MIPS' --> Registers used by MIPS 4000 series processor. |
| CV_M4_* | Registers used by MIPS 4000 series processor. |
| CV_ALPHA_* | Registers used by Digital Equipment Corporation Alpha AXP series processor. |
| CV_PPC_* | Registers used by Motorola/IBM PowerPC processor. |
| CV_SH3_* and CV_SH_\\* | Registers used by Hitachi SH3 and Hitachi SH series processor. |
Expand Down
14 changes: 9 additions & 5 deletions docs/debugger/debug-interface-access/idiaenumframedata-skip.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: "Skips a specified number of frame data elements in an enumeration sequence."
description: Skips a specified number of frame data elements in an enumeration sequence.
title: "IDiaEnumFrameData::Skip"
ms.date: "11/04/2016"
ms.topic: "reference"
Expand All @@ -12,25 +12,29 @@ ms.author: "mikejo"
manager: mijacobs
ms.subservice: debug-diagnostics
---

# IDiaEnumFrameData::Skip

Skips a specified number of frame data elements in an enumeration sequence.

## Syntax

```C++
HRESULT Skip ( 
```c++
HRESULT Skip (
ULONG celt
);
```

#### Parameters
celt

celt

[in] The number of frame data elements in the enumeration sequence to skip.

## Return Value
If successful, returns `S_OK`; otherwise, returns `S_FALSE` if there are no more records to skip.

If successful, returns `S_OK`; otherwise, returns `S_FALSE` if there are no more records to skip.

## See also

- [IDiaEnumFrameData](../../debugger/debug-interface-access/idiaenumframedata.md)
16 changes: 10 additions & 6 deletions docs/debugger/debug-interface-access/idiaenumframedata.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: "Enumerates the various frame data elements contained in the data source."
title: "IDiaEnumFrameData"
description: Enumerates the various frame data elements contained in the data source.
title: IDiaEnumFrameData
ms.date: "11/04/2016"
ms.topic: "reference"
dev_langs:
Expand All @@ -12,17 +12,17 @@ ms.author: "mikejo"
manager: mijacobs
ms.subservice: debug-diagnostics
---

# IDiaEnumFrameData

Enumerates the various frame data elements contained in the data source.

## Syntax

```
IDiaEnumFrameData : IUnknown
```
`IDiaEnumFrameData : IUnknown`

## Methods in Vtable Order

The following table shows the methods of `IDiaEnumFrameData`.

|Method|Description|
Expand All @@ -40,12 +40,14 @@ The following table shows the methods of `IDiaEnumFrameData`.
## Remarks

## Notes for Callers

Obtain this interface from the [IDiaSession::getEnumTables](../../debugger/debug-interface-access/idiasession-getenumtables.md) method. See the example for details.

## Example

This example shows how to obtain (the `GetEnumFrameData` function) and use (the `ShowFrameData` function) the `IDiaEnumFrameData` interface. See the [IDiaFrameData](../../debugger/debug-interface-access/idiaframedata.md) interface for an example of the `PrintFrameData` function.

```C++
```c++

IDiaEnumFrameData* GetEnumFrameData(IDiaSession *pSession)
{
Expand Down Expand Up @@ -95,13 +97,15 @@ void ShowFrameData(IDiaSession *pSession)
```

## Requirements

**Header:** Dia2.h

**Library:** diaguids.lib

**DLL:** msdia80.dll

## See also

- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md)
- [IDiaSession::getEnumTables](../../debugger/debug-interface-access/idiasession-getenumtables.md)
- [IDiaFrameData](../../debugger/debug-interface-access/idiaframedata.md)
Loading