Skip to content

Commit 761b23f

Browse files
authored
Merge branch 'master' into master
2 parents b3ab1fb + e9c2162 commit 761b23f

27 files changed

+419
-373
lines changed

docs/debugger/TOC.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#### [How to: Write a Run-Time Error Reporting Function](how-to-write-a-run-time-error-reporting-function.md)
3434
#### [Use Run-Time Checks Without the C Run-Time Library](using-run-time-checks-without-the-c-run-time-library.md)
3535
## [Attach to Running Processes with the Visual Studio Debugger](attach-to-running-processes-with-the-visual-studio-debugger.md)
36-
## [Debug an Installed App Package](debug-installed-app-package.md)
3736
## [Specify Symbol (.pdb) and Source Files in the Visual Studio Debugger](specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger.md)
3837
## [Debug 64-Bit Applications](debug-64-bit-applications.md)
3938
## [Debugger Security](debugger-security.md)
@@ -122,21 +121,21 @@
122121
### [Error: Mixed-mode debugging for x64 processes is supported only when using Microsoft .NET Framework 4 or greater](error-mixed-mode-debugging-for-x64-processes-is-supported-only-when-using-microsoft-dotnet-framework-4-or-greater.md)
123122
### [Error: Remote machine does not appear in a Remote Connections dialog](error-remote-machine-does-not-appear-in-a-remote-connections-dialog.md)
124123
# [Debug Multithreaded Applications in Visual Studio](debug-multithreaded-applications-in-visual-studio.md)
125-
## [Debug Threads and Processes](debug-threads-and-processes.md)
124+
## [Get Started Debugging Multithreaded Applications](how-to-use-the-threads-window.md)
125+
## [Tools to Debug Threads and Processes](debug-threads-and-processes.md)
126126
## [Debug Multiple Processes](debug-multiple-processes.md)
127-
## [How to: Use the Threads Window](how-to-use-the-threads-window.md)
127+
## [Walkthrough: Debugging a Parallel Application](walkthrough-debugging-a-parallel-application.md)
128128
## [How to: Switch to Another Thread While Debugging](how-to-switch-to-another-thread-while-debugging.md)
129129
## [How to: Flag and Unflag Threads](how-to-flag-and-unflag-threads.md)
130-
## [How to: Set a Thread Name in Native Code](how-to-set-a-thread-name-in-native-code.md)
131-
## [How to: Set a Thread Name in Managed Code](how-to-set-a-thread-name-in-managed-code.md)
132-
## [Walkthrough: Debugging a Multithreaded Application](walkthrough-debugging-a-multithreaded-application.md)
133-
## [How to: Debug On a High-Performance Cluster](how-to-debug-on-a-high-performance-cluster.md)
134-
## [Tips for Debugging Threads in Native Code](tips-for-debugging-threads-in-native-code.md)
135-
## [Using the Tasks Window](using-the-tasks-window.md)
136-
## [Using the Parallel Stacks Window](using-the-parallel-stacks-window.md)
137-
## [Walkthrough: Debugging a Parallel Application](walkthrough-debugging-a-parallel-application.md)
130+
## [How to: Use the Parallel Stacks Window](using-the-parallel-stacks-window.md)
138131
## [How to: Use the Parallel Watch Window](how-to-use-the-parallel-watch-window.md)
132+
## [How to: Use the Threads Window](walkthrough-debugging-a-multithreaded-application.md)
133+
## [How to: Use the Tasks Window](using-the-tasks-window.md)
139134
## [How to: Use the GPU Threads Window](how-to-use-the-gpu-threads-window.md)
135+
## [Debug On a High-Performance Cluster](how-to-debug-on-a-high-performance-cluster.md)
136+
## [Tips for Debugging Threads in Native Code](tips-for-debugging-threads-in-native-code.md)
137+
## [How to: Set a Thread Name in Native Code](how-to-set-a-thread-name-in-native-code.md)
138+
## [How to: Set a Thread Name in Managed Code](how-to-set-a-thread-name-in-managed-code.md)
140139
# [IntelliTrace](intellitrace.md)
141140
## [Walkthrough: Using IntelliTrace](walkthrough-using-intellitrace.md)
142141
## [IntelliTrace Features](intellitrace-features.md)
@@ -147,7 +146,8 @@
147146
## [Using saved IntelliTrace data](using-saved-intellitrace-data.md)
148147
## [API Reference for IntelliTrace Extensibility](api-reference-for-intellitrace-extensibility.md)
149148
# [Debug Applications](debugging-applications.md)
150-
## [Debug Windows Store and Windows Universal apps](debugging-windows-store-and-windows-universal-apps.md)
149+
## [Debug Windows Store and UWP apps](debugging-windows-store-and-windows-universal-apps.md)
150+
### [Get started debugging UWP apps](debug-installed-app-package.md)
151151
### [Run Store apps from Visual Studio](run-store-apps-from-visual-studio.md)
152152
#### [Run Windows Store apps on the local machine](run-windows-store-apps-on-the-local-machine.md)
153153
#### [Run Windows Store apps in the simulator](run-windows-store-apps-in-the-simulator.md)

docs/debugger/attach-to-running-processes-with-the-visual-studio-debugger.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,11 @@ For some app types (like Windows Store apps), you don't attach directly to a pro
153153
|Remote debug ASP.NET Core on an IIS server|Use remote tools and attach to process|dnx.exe|For app deployment, see [Publish to IIS](https://docs.asp.net/en/latest/publishing/iis.html). For debugging, see [Remote Debugging ASP.NET on a remote IIS computer](../debugger/remote-debugging-aspnet-on-a-remote-iis-computer.md)|
154154
|Debug other supported app types on a server process|Use remote tools (if server is remote) and attach to process|iexplore.exe or other processes|If necessary, use Task Manager to help identify the process. See [Remote Debugging](../debugger/remote-debugging.md) and later sections in this topic|
155155
|Remote debug a Windows desktop app|Remote Tools and F5|N/A| See [Remote Debugging](../debugger/remote-debugging.md)|
156-
|Remote debug a Windows Universal (UWP), OneCore, HoloLens, or IoT app|Debug installed app package|N/A|See [Debug an Installed App Package](debug-installed-app-package.md) instead of using **Attach to process**|
157-
|Debug a Windows Universal (UWP), OneCore, HoloLens, or IoT app that you didn't start from Visual Studio|Debug installed app package|N/A|See [Debug an Installed App Package](debug-installed-app-package.md) instead of using **Attach to process**|
156+
|Remote debug a Universal (UWP), OneCore, HoloLens, or IoT app|Debug installed app package|N/A|See [Debug an Installed App Package](debug-installed-app-package.md) instead of using **Attach to process**|
157+
|Debug a Universal Windows App (UWP), OneCore, HoloLens, or IoT app that you didn't start from Visual Studio|Debug installed app package|N/A|See [Debug an Installed App Package](debug-installed-app-package.md) instead of using **Attach to process**|
158158

159159
> [!WARNING]
160-
> To attach to a Windows Universal app that is written in JavaScript, you must first enable debugging for the app. See [Attach the debugger](../debugger/start-a-debugging-session-for-store-apps-in-visual-studio-javascript.md#BKMK_Attach_the_debugger) in the Windows Dev Center.
160+
> To attach to a UWP that is written in JavaScript, you must first enable debugging for the app. See [Attach the debugger](../debugger/start-a-debugging-session-for-store-apps-in-visual-studio-javascript.md#BKMK_Attach_the_debugger) in the Windows Dev Center.
161161
162162
> [!NOTE]
163163
> For the debugger to attach to code written in C++, the code needs to emit `DebuggableAttribute`. You can add this to your code automatically by linking with the [/ASSEMBLYDEBUG](/cpp/build/reference/assemblydebug-add-debuggableattribute) linker option.

docs/debugger/autos-and-locals-windows.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Inspect Variables in the Debugger in Visual Studio | Microsoft Docs"
33
ms.custom: "H1Hack27Feb2017"
4-
ms.date: "02/07/2017"
4+
ms.date: "04/17/2017"
55
ms.reviewer: ""
66
ms.suite: ""
77
ms.technology:
@@ -36,7 +36,7 @@ translation.priority.mt:
3636
- "tr-tr"
3737
---
3838
# Inspect Variables in the Autos and Locals Windows in Visual Studio
39-
The **Autos** window (while debugging, **CTRL+ALT+V, A**, or **Debug / Windows / Autos**) and the **Locals** window (while debugging, **CTRL+ALT+V, L**, or **Debug / Windows / Locals**) are quite useful when you want to see variable values while you are debugging. The **Locals** window displays variables that are defined in the local scope, which is generally the function or method that is currently being executed. The **Autos** window displays variables used around the current line (the place where the debugger is stopped). Exactly which variables displayed is different in different languages. See What variables appear in the Autos Window? below.
39+
The **Autos** window (while debugging, **CTRL+ALT+V, A**, or **Debug / Windows / Autos**) and the **Locals** window (while debugging, **CTRL+ALT+V, L**, or **Debug / Windows / Locals**) are quite useful when you want to see variable values while you are debugging. The **Locals** window displays variables that are defined in the local scope, which is generally the function or method that is currently being executed. The **Autos** window displays variables used around the current line (the place where the debugger is stopped). Exactly which variables display in this window is different in different languages. See [What variables appear in the Autos Window?](#bkmk_whatvariables) below.
4040

4141
If you need more information about basic debugging, see [Getting Started with the Debugger](../debugger/getting-started-with-the-debugger.md).
4242

@@ -45,7 +45,7 @@ Arrays and objects are displayed in the Autos and Locals windows as tree control
4545

4646
![Locals-FileStream](../debugger/media/locals-filestream.png "Locals-FileStream")
4747

48-
## What variables appear in the Autos window?
48+
## <a name="bkmk_whatvariables"></a> What variables appear in the Autos window?
4949
You can use the **Autos** window in C#, Visual Basic, and C++ code. The **Autos** window does not support JavaScript or F#.
5050

5151
In C# and Visual Basic, the **Autos** window displays any variable used on the current or preceding line. For example, if you declare four variables and set them as follows:
@@ -128,7 +128,7 @@ You may notice that the value of a variable is sometimes red in the **Locals** a
128128
## Changing the numeric format of a variable window
129129
The default numeric format is decimal, but you can change it to hexadecimal. Right-click inside a **Locals** or **Autos** window and select **Hexadecimal Display**. The change affects all debugger windows.
130130

131-
## Editing a Value in a Variable Window
131+
## Editing a value in a Variable window
132132
You can edit the values of most variables that appear in the **Autos**, **Locals**, **Watch**, and **QuickWatch** windows. For information about **Watch** and **QuickWatch** windows, see [Watch and QuickWatch Windows](../debugger/watch-and-quickwatch-windows.md). Just double-click the value you want to change and add the new the value.
133133

134134
You can enter an expression for a value, for example `a + b`. The debugger accepts most valid language expressions.

docs/debugger/debug-installed-app-package.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "Debug an Installed UWP App Package | Microsoft Docs"
2+
title: "Get started debugging an installed app package (UWP) | Microsoft Docs"
33
ms.custom: "H1Hack27Feb2017"
44
ms.date: "12/09/2016"
55
ms.reviewer: ""
@@ -40,7 +40,7 @@ translation.priority.mt:
4040
- "pt-br"
4141
- "tr-tr"
4242
---
43-
# Debug an Installed App Package in Visual Studio (UWP)
43+
# Get started debugging an installed app package in Visual Studio (UWP)
4444

4545
You can debug any installed app package by selecting **Debug**, **Other Debug Targets**, and then **Debug Installed App Package**. This debugging method is available for Universal Windows Apps (UWP) on these devices:
4646

docs/debugger/debug-multithreaded-applications-in-visual-studio.md

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Debug Multithreaded Applications in Visual Studio | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "11/04/2016"
4+
ms.date: "04/21/2017"
55
ms.reviewer: ""
66
ms.suite: ""
77
ms.technology:
@@ -44,24 +44,36 @@ translation.priority.ht:
4444
# Debug Multithreaded Applications in Visual Studio
4545
A thread is a sequence of instructions to which the operating system allocates processor time. Every process that is running in the operating system consists of at least one thread. Processes that have more than one thread are called multithreaded.
4646

47-
Computers with multiple processors, multi-core processors, or hyperthreading processes can run multiple threads at the same time. Parallel processing of multiple threads can greatly improve program performance, but it can also make debugging more difficult because it introduces the need to keep track of multiple threads.
47+
Computers with multiple processors, multi-core processors, or hyperthreading processes can run multiple threads at the same time. Parallel processing of multiple threads can greatly improve program performance, but it can also make debugging more difficult because it introduces the need to keep track of multiple threads.
4848

49-
In addition, multithreading introduces some new types of potential bugs. Often, for example, two or more threads have to access the same resource, but only one thread can safely access the resource at a time. Some form of mutual exclusion is necessary to make sure that only one thread is accessing the resource at a time. If mutual exclusion is performed incorrectly, it can create a *deadlock* condition where no thread can execute. Deadlocks can be a particularly hard problem to debug.
49+
In addition, multithreading introduces some new types of potential bugs. Often, for example, two or more threads have to access the same resource, but only one thread can safely access the resource at a time. Some form of mutual exclusion is necessary to make sure that only one thread is accessing the resource at a time. If mutual exclusion is performed incorrectly, it can create a *deadlock* condition where no thread can execute. Deadlocks can be a particularly hard problem to debug.
50+
51+
Visual Studio provides different tools for use in debugging multithreaded apps.
52+
53+
- For threads, the primary tools for debugging threads are the **Threads** window, thread markers in source windows, **Parallel Stacks** window, **Parallel Watch** window, and the **Debug Location** toolbar. To get started, see [Get started debugging a multithreaded application](../debugger/how-to-use-the-threads-window.md) and [Using the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).
5054

51-
Visual Studio provides a **Threads** window, a GPU Threads window, a Parallel Watch window, and other features that make multithreaded debugging easier. The best way to learn about the threading features is by doing the walkthroughs. See [Walkthrough: Debugging a Multithreaded Application](../debugger/walkthrough-debugging-a-multithreaded-application.md) and [Walkthrough: Debugging a C++ AMP Application](http://msdn.microsoft.com/Library/40e92ecc-f6ba-411c-960c-b3047b854fb5).
55+
- For code that uses the [Task Parallel Library (TPL)](http://msdn.microsoft.com/Library/b8f99f43-9104-45fd-9bff-385a20488a23) or the [Concurrency Runtime](/cpp/parallel/concrt/concurrency-runtime/), the primary tools for debugging multithreaded applications are the **Parallel Stacks** window, the **Parallel Watch** window, and the **Tasks** window (the **Tasks** window also supports JavaScript). To get started, see [Walkthrough: Debugging a Parallel Application](../debugger/walkthrough-debugging-a-parallel-application.md) and [Walkthrough: Debugging a C++ AMP Application](http://msdn.microsoft.com/Library/40e92ecc-f6ba-411c-960c-b3047b854fb5).
56+
57+
- For debugging threads on the GPU, the primary tools is the **GPU Threads** windows. See [How to: Use the GPU Threads window](../debugger/how-to-use-the-gpu-threads-window.md).
5258

53-
Visual Studio also provides powerful breakpoints and tracepoints, which can be very useful when you debug multithreaded applications. You can use breakpoint filters to place breakpoints on individual threads. See [Using Breakpoints](../debugger/using-breakpoints.md)
59+
Visual Studio also provides powerful breakpoints and tracepoints, which can be very useful when you debug multithreaded applications. You can use breakpoint filters to place breakpoints on individual threads. See [Using Breakpoints](../debugger/using-breakpoints.md).
5460

5561
Debugging a multithreaded application that has a user interface can be especially difficult. In that case, you might consider running the application on a second computer and using remote debugging. For information, see [Remote Debugging](../debugger/remote-debugging.md).
5662

57-
## In This Section
63+
## In This Section
64+
[Get started debugging a multithreaded application](../debugger/using-the-tasks-window.md).
65+
A guided tour of thread debugging features, with emphasis on features in the **Threads** window [!INCLUDE[vs_orcas_long](../debugger/includes/vs_orcas_long_md.md)].
66+
5867
[Debug Threads and Processes](../debugger/debug-threads-and-processes.md)
5968
Explains the basics of debugging threads and processes.
6069

6170
[Debug Multiple Processes](../debugger/debug-multiple-processes.md)
62-
Explains how to debug multiple processes.
71+
Explains how to debug multiple processes.
72+
73+
[How to: Use the Parallel Watch Window](../debugger/how-to-use-the-parallel-watch-window.md)
74+
Inspect values and expressions across multiple threads.
6375

64-
[How to: Use the Threads Window](../debugger/how-to-use-the-threads-window.md)
76+
[How to: Use the Threads Window](../debugger/walkthrough-debugging-a-multithreaded-application.md)
6577
Useful procedures for debugging threads with the **Threads** window.
6678

6779
[How to: Switch to Another Thread While Debugging](../debugger/how-to-switch-to-another-thread-while-debugging.md)
@@ -76,26 +88,17 @@ A thread is a sequence of instructions to which the operating system allocates p
7688
[How to: Set a Thread Name in Managed Code](../debugger/how-to-set-a-thread-name-in-managed-code.md)
7789
Give your thread a name that you view in the **Threads** window.
7890

79-
[Walkthrough: Debugging a Multithreaded Application](../debugger/walkthrough-debugging-a-multithreaded-application.md).
80-
A guided tour of thread debugging features, with emphasis on features how to [!INCLUDE[vs_orcas_long](../debugger/includes/vs_orcas_long_md.md)].
81-
8291
[How to: Debug On a High-Performance Cluster](../debugger/how-to-debug-on-a-high-performance-cluster.md)
8392
Techniques for debugging an application that runs on a high-performance cluster.
8493

8594
[Tips for Debugging Threads in Native Code](../debugger/tips-for-debugging-threads-in-native-code.md)
8695
Simple techniques that can be useful for debugging native threads.
8796

8897
[Using the Tasks Window](../debugger/using-the-tasks-window.md)
89-
Shows a list of all the managed or native task objects including their status and other useful info.
90-
91-
[Using the Parallel Stacks Window](../debugger/using-the-parallel-stacks-window.md)
92-
Shows call stacks of multiple threads (or tasks) in a single view and it also coalesces stack segments that are common amongst the threads (or tasks).
98+
Shows a list of all the managed or native task objects including their status and other useful info.
9399

94100
[Walkthrough: Debugging a Parallel Application](../debugger/walkthrough-debugging-a-parallel-application.md)
95-
Walkthrough that shows how to use the Parallel Tasks and Parallel Stacks windows.
96-
97-
[How to: Use the Parallel Watch Window](../debugger/how-to-use-the-parallel-watch-window.md)
98-
Inspect values and expressions across multiple threads.
101+
Walkthrough that shows how to use the Parallel Tasks and Parallel Stacks windows.
99102

100103
[How to: Use the GPU Threads Window](../debugger/how-to-use-the-gpu-threads-window.md)
101104
Examine and work with threads that are running on the GPU during debugging.

0 commit comments

Comments
 (0)