Skip to content

Commit 97fe466

Browse files
committed
updates
1 parent cc0cbd9 commit 97fe466

4 files changed

+28
-0
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,17 @@ The existence of multiple processes enables a computer to perform more than one
4141

4242
Visual Studio provides different tools for use in debugging multithreaded apps.
4343

44+
::: moniker range=">= vs-2022"
4445
- For threads, the primary tools for debugging threads are the **Parallel Stacks** window, the **Parallel Watch** window, thread markers in source windows, the **Threads** window, and the **Debug Location** toolbar. To learn about the **Threads** view in **Parallel Stacks**, see [Debug a deadlock using Threads view](../debugger/how-to-use-the-threads-window.md). To learn how to use the **Parallel Stacks** and **Parallel Watch** windows, see [Get started debugging a multithreaded application](../debugger/get-started-debugging-multithreaded-apps.md). The get started article shows how to use thread markers. Also, see [Walkthrough: Debugging a C++ AMP application](/cpp/parallel/amp/walkthrough-debugging-a-cpp-amp-application).
4546

4647
- For .NET code that uses async, the primary tools for debugging are **Tasks** view in the **Parallel Stacks** window. To get started, see [Debug an async application (.NET)](../debugger/walkthrough-debugging-a-parallel-application.md).
48+
::: moniker-end
49+
50+
::: moniker range="vs-2019"
51+
- For threads, the primary tools for debugging threads are the **Parallel Stacks** window, the **Parallel Watch** window, thread markers in source windows, the **Threads** window, and the **Debug Location** toolbar. To learn about the **Threads** view in **Parallel Stacks**, see [View threads and tasks in the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).. To learn how to use the **Parallel Stacks** and **Parallel Watch** windows, see [Get started debugging a multithreaded application](../debugger/get-started-debugging-multithreaded-apps.md). The get started article shows how to use thread markers. Also, see [Walkthrough: Debugging a C++ AMP application](/cpp/parallel/amp/walkthrough-debugging-a-cpp-amp-application).
52+
53+
- For .NET code that uses async, the primary tools for debugging are **Tasks** view in the **Parallel Stacks** window. For more information, see [View threads and tasks in the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).
54+
::: moniker-end
4755

4856
- For debugging threads on the GPU, the primary tool is the **GPU Threads** window. See [How to: Use the GPU Threads window](../debugger/how-to-use-the-gpu-threads-window.md).
4957

docs/debugger/using-the-parallel-stacks-window.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,17 @@ The **Parallel Stacks** window is useful for debugging multithreaded application
2323

2424
- [Threads view](#threads-view) shows call stack information for all threads in the app. You can navigate between threads and stack frames on those threads.
2525

26+
::: moniker range=">=vs-2022"
2627
- [Tasks view](#tasks-view) shows task-centered call stack information.
2728
- For .NET apps using the async/await pattern, the Tasks view is the most helpful for debugging. For a step-by-step tutorial, see [Debug an async application](../debugger/walkthrough-debugging-a-parallel-application.md).
2829
- For apps using the [Task Parallel Library (TPL)](/dotnet/standard/parallel-programming/task-parallel-library-tpl) but not the async/await pattern, or for C++ apps using the [Concurrency Runtime](/cpp/parallel/concrt/concurrency-runtime), the **Threads** view in the **Parallel Stacks** window is the most useful tool for debugging.
30+
::: moniker-end
31+
32+
::: moniker range="vs-2019"
33+
- [Tasks view](#tasks-view) shows task-centered call stack information.
34+
- For .NET apps using the async/await pattern, the Tasks view is the most helpful for debugging.
35+
- For apps using the [Task Parallel Library (TPL)](/dotnet/standard/parallel-programming/task-parallel-library-tpl) but not the async/await pattern, or for C++ apps using the [Concurrency Runtime](/cpp/parallel/concrt/concurrency-runtime), the **Threads** view in the **Parallel Stacks** window is the most useful tool for debugging.
36+
::: moniker-end
2937

3038
- [Method View](#method-view) pivots the call stack on a selected method.
3139

docs/debugger/using-the-tasks-window.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,13 @@ ms.subservice: debug-diagnostics
2121

2222
The **Tasks** window resembles the **Threads** window, except that it shows information about <xref:System.Threading.Tasks.Task?displayProperty=fullName> or [task_handle](/cpp/parallel/concrt/reference/task-group-class) objects instead of each thread. Like threads, tasks represent asynchronous operations that can run concurrently; however, multiple tasks may run on the same thread.
2323

24+
::: moniker range=">=vs-2022"
2425
In .NET code, you can use the **Tasks** window when you work with apps using the async/await pattern (**Await** and **Async** in VisualBasic). However, the **Tasks** view in the **Parallel Stacks** window is often more helpful for debugging async applications. For more information, see [Debug an async application](../debugger/walkthrough-debugging-a-parallel-application.md).
26+
::: moniker-end
27+
28+
::: moniker range="vs-2019"
29+
In .NET code, you can use the **Tasks** window when you work with apps using the async/await pattern (**Await** and **Async** in VisualBasic). However, the **Tasks** view in the **Parallel Stacks** window is often more helpful for debugging async applications. For more information, see [View threads and tasks in the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).
30+
::: moniker-end
2531

2632
> [!TIP]
2733
> 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).

docs/debugger/walkthrough-debugging-a-multithreaded-application.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@ The **Threads** window in the Visual Studio debugger lets you examine and work w
3232

3333
The **Threads** window is available only while the Visual Studio debugger is running. During a debugging session, you can open the window by selecting **Debug** > **Windows** > **Threads**.
3434

35+
::: moniker range=">= vs-2022"
3536
This article describes how to work with the **Threads** window for your C#, Visual Basic, or C++ programs. However, the **Threads** view in the Parallel Stacks window is often more helpful for debugging. For more information, see [Debug a deadlock using the Threads view](./how-to-use-the-threads-window.md) and [View threads and tasks in the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).
37+
::: moniker-end
38+
39+
::: moniker range="vs-2019"
40+
This article describes how to work with the **Threads** window for your C#, Visual Basic, or C++ programs. However, the **Threads** view in the Parallel Stacks window is often more helpful for debugging. For more information, see [View threads and tasks in the Parallel Stacks window](../debugger/using-the-parallel-stacks-window.md).
41+
::: moniker-end
3642

3743
## Explore the Threads window table
3844

0 commit comments

Comments
 (0)