In this chapter, we learned about the Visual Studio features available to multithreaded application developers. We started by working with threads in the Threads window. This is the most universal debugging window when working doing parallel programming in .NET. It can provide essential information, regardless of whether you are working with async tasks, parallel loops, or standard
Next, we learned how to switch, flag, and freeze our threads while debugging. Finally, we looked at some of the advanced debugging tools for developers who are using
Task objects or
await in their code. The Parallel Stacks and Parallel Watch windows take task debugging to the next level. Finally, we took a quick look at the Tasks window and the Debug Location toolbar.
In the next chapter, Chapter 11, we will dive deeper into the different methods available to cancel concurrent and parallel work with .NET.