Processes
Note
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
In terms of the debugger architecture, a process:
Is a container for a set of programs. It is closely analogous to a Windows process, which is a container for a set of threads.
Can identify itself by name, identifier, or physical identifier.
Can enumerate all running programs (and their threads).
Can describe itself, the port it is running in, and the machine that contains it.
Can create one or more programs, terminate any of the programs it creates, or cause a program to stop.
Is represented by an IDebugProcess2 interface, which is created when the process is launched. A process is launched by either the session debug manager (SDM) or LaunchSuspended.
The debug package can attach a debug engine (DE) to a process by calling Attach. This means that the DE attaches to all possible programs running in the process that it can handle. For example, if the common language runtime DE attaches to a process, it attaches only to programs that are running managed code.
See Also
Programs
Threads
Debugger Concepts
Debug Package
Debug Engine
IDebugProcess2
LaunchSuspended
Attach