You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/debugger/how-to-use-the-disassembly-window.md
+20-19Lines changed: 20 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "View Disassembly Code in the Debugger in Visual Studio | Microsoft Docs"
3
3
ms.custom: "H1Hack27Feb2017"
4
-
ms.date: "10/29/2018"
4
+
ms.date: "10/30/2018"
5
5
ms.technology: "vs-ide-debug"
6
6
ms.topic: "conceptual"
7
7
f1_keywords:
@@ -25,13 +25,14 @@ ms.workload:
25
25
- "multiple"
26
26
---
27
27
# View disassembly code in the Visual Studio debugger
28
-
This feature is only available if address-level debugging is enabled in the **Options** dialog box, **Debugging** node. It isn't available for Script or SQL debugging.
29
-
30
-
The **Disassembly** window shows assembly code corresponding to the instructions created by the compiler. If you're debugging managed code, these assembly instructions correspond to the native code created by the Just-in-Time (JIT) compiler, not the Microsoft intermediate language (MSIL) created by the Visual Studio compiler.
31
28
29
+
The **Disassembly** window shows assembly code corresponding to the instructions created by the compiler. If you're debugging managed code, these assembly instructions correspond to the native code created by the Just-in-Time (JIT) compiler, not the Microsoft intermediate language (MSIL) created by the Visual Studio compiler.
30
+
32
31
> [!NOTE]
33
-
> To take full advantage of the **Disassembly** window, you'll need to understand the basics of assembly-language programming, which is beyond the scope of this article.
32
+
> To take full advantage of the **Disassembly** window, understand or learn the basics of [assembly-language programming](https://wikipedia.org/wiki/Assembly_language).
34
33
34
+
This feature is only available if address-level debugging is enabled. It isn't available for script or SQL debugging.
35
+
35
36
In addition to assembly instructions, the **Disassembly** window can show the following optional information:
36
37
37
38
- Memory address where each instruction is located. For native applications, it is the actual memory address. For Visual Basic, C#, or managed code, it's an offset from the beginning of the function.
@@ -50,21 +51,21 @@ Assembly code relies heavily on processor registers or, for managed code, common
50
51
51
52
To view machine-code instructions in their raw numeric form, rather than as assembly language, use the **Memory** window or select **Code Bytes** from the shortcut menu in the **Disassembly** window.
52
53
54
+
## Use the Disassembly window
55
+
56
+
To enable the **Disassembly** window, under **Tools** > **Options** (or **Tools** > **Options**) > **Debugging**, select **Enable address-level debugging**.
57
+
58
+
To open the **Disassembly** window during debugging, select **Windows** > **Disassembly** or press **Alt**+**8**.
59
+
53
60
> [!NOTE]
54
61
> The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. To change your settings, choose **Import and Export Settings** on the **Tools** menu. For more information, see [Personalize the Visual Studio IDE](../ide/personalizing-the-visual-studio-ide.md).
55
62
56
-
### To display the Disassembly window
57
-
58
-
- While you're debugging, select **Debug** > **Windows** and then select **Disassembly**.
59
-
60
-
### To turn optional information on or off
61
-
62
-
- Right-click in the **Disassembly** window, and set or clear the desired options in the shortcut menu.
63
-
64
-
A yellow arrow in the left margin marks the location of the current execution point. For native code, the execution point corresponds to the CPU's program counter. This location shows the next instruction that will be executed in your program.
65
-
66
-
For more information, see [Paging up or down in memory](../debugger/how-to-page-up-or-down-in-memory.md).
67
-
63
+
To turn optional information on or off, right-click in the **Disassembly** window, and set or clear the desired options in the shortcut menu.
64
+
65
+
A yellow arrow in the left margin marks the current execution point. For native code, the execution point corresponds to the CPU's program counter. This location shows the next instruction that will be executed in your program.
66
+
68
67
## See also
69
-
[Viewing data in the debugger](../debugger/viewing-data-in-the-debugger.md)
70
-
[How to: Use the Registers window](../debugger/how-to-use-the-registers-window.md)
68
+
69
+
[Paging up or down in memory](../debugger/how-to-page-up-or-down-in-memory.md)
70
+
[Viewing data in the debugger](../debugger/viewing-data-in-the-debugger.md)
71
+
[How to: Use the Registers window](../debugger/how-to-use-the-registers-window.md)
0 commit comments