Debugging a Multi-Process 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. Processes communicate with one another through messages, using RPC to pass information between processes. There is no difference to the caller in a call coming from a process on a remote machine, and a call from another process on the same machine.

When you are debugging an application that requires more than one process to run, you may want to watch activity across all processes. The following procedure shows you how to select a different process when your are debugging your application.

To select a process from the Threads debug window

  1. Open the Threads debug window.

  2. From the drop-down list box at the top of the Threads window, select the process you want to observe.

Once you have selected a process to debug see Basic Debugging Procedures for specific procedures for: