Skip to content

Commit c10870a

Browse files
Merge pull request #10504 from MicrosoftDocs/main638676798400315075sync_temp
For protected branch, push strategy should use PR and merge to target branch method to work around git push error
2 parents 225c887 + a84d2f6 commit c10870a

File tree

5 files changed

+34
-14
lines changed

5 files changed

+34
-14
lines changed
202 KB
Loading

docs/debugger/memory-windows.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: View memory for variables in the debugger
33
description: Learn how to use Memory windows as you debug, to see the memory space your app is using. Other windows show variables and where they reside in memory.
4-
ms.date: 11/30/2023
4+
ms.date: 11/19/2024
55
ms.topic: how-to
66
f1_keywords:
77
- vs.debug.memory
@@ -40,51 +40,63 @@ Like other debugger windows, the **Memory** windows are available only during a
4040
>[!IMPORTANT]
4141
>To enable the **Memory** windows, **Enable address-level debugging** must be selected in **Tools** > **Options** (or **Debug** > **Options**) > **Debugging** > **General**.
4242
43-
**To open a Memory window**
43+
Open a Memory window:
4444

4545
1. Make sure **Enable address-level debugging** is selected in **Tools** > **Options** (or **Debug** > **Options**) > **Debugging** > **General**.
4646

4747
1. Start debugging by selecting the green arrow, pressing **F5**, or selecting **Debug** > **Start Debugging**.
4848

4949
2. Under **Debug** > **Windows** > **Memory**, select **Memory 1**, **Memory 2**, **Memory 3**, or **Memory 4**. (Some editions of Visual Studio offer only one **Memory** window.)
5050

51+
Multiple windows allow you to maintain views for different areas in memory space at the same time.
52+
5153
## Move around in the Memory window
5254

5355
The address space of a computer is large, and you can easily lose your place by scrolling in the **Memory** window.
5456

5557
Higher memory addresses appear at the bottom of the window. To view a higher address, scroll down. To view a lower address, scroll up.
5658

59+
In most scenarios, you want to find a specific memory location.
60+
61+
## Find a memory location
62+
5763
You can instantly go to a specified address in the **Memory** window by using drag-and-drop, or by entering the address in the **Address** field. The **Address** field accepts alphanumeric addresses, and expressions that evaluate to addresses, such as `e.User.NonroamableId`.
5864

5965
To force immediate re-evaluation of an expression in the **Address** field, select the rounded-arrow **Reevaluate Automatically** icon.
6066

6167
By default, the **Memory** window treats **Address** expressions as live expressions, which are re-evaluated as the app runs. Live expressions can be useful, for example, to view the memory that is touched by a pointer variable.
6268

63-
**To use drag and drop to move to a memory location:**
69+
Use drag and drop to move to a memory location:
6470

6571
1. In any debugger window, select a memory address, or a pointer variable that contains a memory address.
6672

67-
2. Drag and drop the address or pointer in the **Memory** window. That address then appears in the **Address** field, and the **Memory** window adjusts to display that address at the top.
73+
1. Drag and drop the address or pointer in the **Memory** window.
74+
75+
That address appears in the **Address** field, and the **Memory** window adjusts to display that address at the top.
76+
77+
Entering a location in the Address field to move to a memory location:
78+
79+
- Type or paste the address or expression in the **Address** field and press **Enter**, or choose it from the dropdown in the **Address** field.
6880

69-
**To move to a memory location by entering it in the Address field:**
81+
That address appears in the **Address** field, and the **Memory** window adjusts to display that address at the top.
7082

71-
- Type or paste the address or expression in the **Address** field and press **Enter**, or choose it from the dropdown in the **Address** field. The **Memory** window adjusts to display that address at the top.
83+
![Screenshot of the Memory window.](../debugger/media/memory-window.png)
7284

7385
## Customize the Memory window
7486

7587
By default, memory contents appear as 1-byte integers in hexadecimal format, and the window width determines the number of columns shown. You can customize the way the **Memory** window shows memory contents.
7688

77-
**To change the format of the memory contents:**
89+
Change the format of the memory contents:
7890

7991
- Right-click in the **Memory** window, and choose the formats that you want from the context menu.
8092

81-
**To change the number of columns in the Memory window:**
93+
Change the number of columns in the Memory window:
8294

83-
- Select the drop down arrow next to the **Columns** field, and select the number of columns to display, or select **Auto** for automatic adjustment based on window width.
95+
- Select the dropdown arrow next to the **Columns** field, and select the number of columns to display, or select **Auto** for automatic adjustment based on window width.
8496

8597
If you do not want the contents of the **Memory** window to change as your app runs, you can turn off live expression evaluation.
8698

87-
**To toggle live evaluation:**
99+
Toggle live evaluation:
88100

89101
- Right-click in the **Memory** window, and select **Reevaluate Automatically** in the context menu.
90102

@@ -93,15 +105,15 @@ If you do not want the contents of the **Memory** window to change as your app r
93105
94106
You can hide or display the toolbar at the top of the **Memory** window. You will not have access to the **Address** field or other tools when the toolbar is hidden.
95107

96-
**To toggle the toolbar display:**
108+
Toggle the toolbar display:
97109

98110
- Right-click in the **Memory** window, and select **Show Toolbar** in the context menu. The toolbar appears or disappears, depending on its previous state.
99111

100112
## Follow a pointer through memory (C/C++)
101113

102114
In native code apps, you can use register names as live expressions. For example, you can use the stack pointer to follow the stack.
103115

104-
**To follow a pointer through memory:**
116+
Follow a pointer through memory:
105117

106118
1. In the **Memory** window **Address** field, enter a pointer expression that is in the current scope. Depending on the language, you might have to dereference it.
107119

@@ -117,4 +129,4 @@ To get the memory pointer address from a heap snapshot, open the heap dump, choo
117129

118130
## Related content
119131

120-
- [View data in the debugger](../debugger/viewing-data-in-the-debugger.md)
132+
- [View data in the debugger](../debugger/viewing-data-in-the-debugger.md)

docs/install/workload-component-id-vs-test-agent.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ open_to_public_contributors: false
2424

2525
[!INCLUDE[workloads-components-header-2019_md](includes/workloads-components-header-2019_md.md)]
2626

27+
To install these components by using the manual installer, download and run the [Test Agent for Visual Studio](https://visualstudio.microsoft.com/vs/older-downloads/).
28+
2729
[!include[Visual Studio Test Agent 2019](includes/vs-2019/workload-component-id-vs-test-agent.md)]
2830

2931
::: moniker-end
@@ -32,6 +34,8 @@ open_to_public_contributors: false
3234

3335
[!INCLUDE[workloads-components-header-2022_md](includes/workloads-components-header-2022.md)]
3436

37+
To install these components by using the manual installer, download and run the [Test Agent for Visual Studio](https://visualstudio.microsoft.com/downloads/#agents-for-visual-studio-2022).
38+
3539
[!include[Visual Studio Test Agent 2022](includes/vs-2022/workload-component-id-vs-test-agent.md)]
3640

3741
::: moniker-end

docs/install/workload-component-id-vs-test-controller.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ open_to_public_contributors: false
2424

2525
[!INCLUDE[workloads-components-header-2019_md](includes/workloads-components-header-2019_md.md)]
2626

27+
To install these components by using the manual installer, download and run the [Test Controller for Visual Studio](https://visualstudio.microsoft.com/vs/older-downloads/).
28+
2729
[!include[Visual Studio Test Controller 2019](includes/vs-2019/workload-component-id-vs-test-controller.md)]
2830

2931
::: moniker-end
@@ -32,6 +34,8 @@ open_to_public_contributors: false
3234

3335
[!INCLUDE[workloads-components-header-2022_md](includes/workloads-components-header-2022.md)]
3436

37+
To install these components by using the manual installer, download and run the [Test Controller for Visual Studio](https://visualstudio.microsoft.com/downloads/#agents-for-visual-studio-2022).
38+
3539
[!include[Visual Studio Test Controller 2022](includes/vs-2022/workload-component-id-vs-test-controller.md)]
3640

3741
::: moniker-end

docs/profiling/profiling-feature-tour.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "First look at profiling tools"
33
description: Review the different diagnostic tools available in Visual Studio for profiling your C#, Visual Basic, C++, and F# applications.
4-
ms.date: 11/09/2023
4+
ms.date: 11/19/2024
55
ms.topic: conceptual
66
f1_keywords:
77
- vs.diagnosticshub.overview

0 commit comments

Comments
 (0)