Debugging a Multithreaded Application

   

A process is a collection of virtual memory space, code, data, and system resources, while a thread is code that is to be serially executed within a process. A processor executes threads, not processes, so each 32-bit application has at least one process and one thread. Prior to the introduction of multiple threads of execution, applications were all designed to run on a single thread of execution.

If you have created a multithreaded application or component and noticed peculiar behavior when it runs, you may need to debug the code running on a specific thread to find the source of the problem. The procedures is this scenario are designed to show you how to use the debug Threads window in conjunction with setting breakpoints and viewing information in other debug windows.

If you do not have an application that supports multiple threads and would like to walk through the following procedures, complete the procedures in Multithreaded Beverages Application that create a multithreaded console application.