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
Visual Studio provides several tools and user interface elements to help you debug multithreaded applications. This tutorial shows how to use thread markers, the **Parallel Stacks** window, the **Parallel Watch** window, conditional breakpoints, and filter breakpoints. Completing this tutorial familiarizes you with Visual Studio features for debugging multithreaded applications.
22
22
23
+
::: moniker range=">=vs-2022"
23
24
For tutorials that are more scenario-focused, see the following articles.
24
25
25
26
-[Debug a deadlock using Threads view](../debugger/how-to-use-the-threads-window.md).
26
27
27
28
-[Debug an async application (.NET)](../debugger/walkthrough-debugging-a-parallel-application.md).
29
+
::: moniker-end
28
30
29
31
The first step is to create a multithreaded application project.
Copy file name to clipboardExpand all lines: docs/debugger/using-the-parallel-stacks-window.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,10 +91,10 @@ Icon|Description|
91
91
||Indicates the current location (active stack frame) of the current thread.|
92
92
||Indicates the current location (active stack frame) of a non-current thread.|
93
93
||Indicates the current stack frame (the current debugger context). The method name is bold wherever it appears.|
94
-
||Indicates that the current stack frame has Critical status warning such as Deadlock.|
95
-
||Indicates the deadlocked node.|
96
-
||Indicates that the current stack frame has additional information such as Waiting on, Waiting on lock, owned by, etc. |
97
-
||Indicates that the current task is in blocked/waiting state, etc. |
94
+
||(.NET) Indicates that the current stack frame has Critical status warning such as Deadlock.|
95
+
||(.NET) Indicates the deadlocked node.|
96
+
||(.NET) Indicates that the current stack frame has additional information such as Waiting on, Waiting on lock, owned by, etc. |
97
+
||(.NET) Indicates that the current task is in blocked/waiting state, etc. |
98
98
||Indicates the currently running task.|
99
99
100
100
::: moniker-end
@@ -250,8 +250,6 @@ These video tutorials demonstrate how you can use the Threads and Tasks views of
250
250
251
251
## Related content
252
252
-[Get started debugging a multithreaded application](../debugger/get-started-debugging-multithreaded-apps.md)
253
-
-[Debug an async application (.NET)](../debugger/walkthrough-debugging-a-parallel-application.md)
254
-
-[Debug a deadlock](../debugger/how-to-use-the-threads-window.md)
255
253
-[Switch to Another Thread While Debugging in Visual Studio](../debugger/how-to-switch-to-another-thread-while-debugging.md)
Copy file name to clipboardExpand all lines: docs/debugger/using-the-tasks-window.md
+2-5Lines changed: 2 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,15 +9,14 @@ dev_langs:
9
9
- "CSharp"
10
10
- "VB"
11
11
- "FSharp"
12
-
- "C++"
13
12
helpviewer_keywords:
14
13
- "debugger, parallel tasks window"
15
14
author: "mikejo5000"
16
15
ms.author: "mikejo"
17
16
manager: mijacobs
18
17
ms.subservice: debug-diagnostics
19
18
---
20
-
# Using the Tasks Window (C#, Visual Basic, C++)
19
+
# Using the Tasks Window (C#, Visual Basic)
21
20
22
21
The **Tasks** window resembles the **Threads** window, except that it shows information about asynchronous tasks created using the async/await pattern, also called the [Task-based asynchronous pattern (TAP)](/dotnet/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap) instead of thread-based information. Like threads, tasks represent asynchronous operations that can run concurrently; however, multiple tasks may run on the same thread.
23
22
@@ -30,7 +29,7 @@ In .NET code, you can use the **Tasks** window when you work with apps using the
30
29
::: moniker-end
31
30
32
31
> [!TIP]
33
-
> For C/C++ code, the **Threads** view in the **Parallel Stacks** window is typically the most helpful when you need to debug [task groups](/cpp/parallel/concrt/task-parallelism-concurrency-runtime), [parallel algorithms](/cpp/parallel/concrt/parallel-algorithms), [asynchronous agents](/cpp/parallel/concrt/asynchronous-agents), and [lightweight tasks](/cpp/parallel/concrt/task-scheduler-concurrency-runtime). For more information, see [View threads and tasks in the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).
32
+
> For C/C++ code, use the **Threads** view in the **Parallel Stacks** window when you need to debug [task groups](/cpp/parallel/concrt/task-parallelism-concurrency-runtime), [parallel algorithms](/cpp/parallel/concrt/parallel-algorithms), [asynchronous agents](/cpp/parallel/concrt/asynchronous-agents), and [lightweight tasks](/cpp/parallel/concrt/task-scheduler-concurrency-runtime). For more information, see [View threads and tasks in the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).
34
33
35
34
You can use the **Tasks** window whenever you break into the debugger. You can access it on the **Debug** menu by clicking **Windows** and then clicking **Tasks**. The following illustration shows the **Tasks** window in its default mode.
36
35
@@ -117,8 +116,6 @@ The **Switch to Task** command makes the current task the active task. The **Swi
117
116
118
117
## Related content
119
118
120
-
-[Debug an async application (.NET)](../debugger/walkthrough-debugging-a-parallel-application.md)
121
-
-[Debug a deadlock](../debugger/how-to-use-the-threads-window.md)
122
119
-[First look at the debugger](../debugger/debugger-feature-tour.md)
0 commit comments