Prozesse
In der Debugger-Architektur ist ein Prozess:
Ist ein Container für eine Reihe von Programmen. Er ist eng verwandt mit einem Windows-Prozess, der ein Container für eine Reihe von Threads ist.
Kann sich selbst durch einen Namen, eine Kennung oder eine physische Kennung identifizieren.
Kann alle laufenden Programme (und ihre Threads) aufzählen.
Kann sich selbst, den Port, über den es läuft, und den Rechner, auf dem es läuft, beschreiben.
Kann ein oder mehrere Programme erstellen, eines der erstellten Programme beenden oder ein Programm zum Anhalten bringen.
Wird durch eine Schnittstelle IDebugProcess2 dargestellt, die beim Start des Prozesses erstellt wird. Ein Prozess wird entweder durch den Session Debug Manager (SDM) oder LaunchSuspended gestartet.
Das Debuggen eines Pakets kann eine Debug-Engine (DE) an einen Prozess anhängen, indem es Attach aufruft. Das bedeutet, dass die DE sich an alle möglichen Programme anhängt, die in dem Prozess laufen und die sie verarbeiten kann. Wenn zum Beispiel die Common Language Runtime DE an einen Prozess angehängt wird, dann nur an Programme, die verwalteten Code ausführen.