Prozessfunktionen für das Debuggen
Mit der CreateProcess-Funktion kann ein Debugger einen Prozess starten und debuggen. Der parameter fdwCreate von CreateProcess wird verwendet, um den Typ des Debugvorgangs anzugeben. Wenn das flag DEBUG_PROCESS für den Parameter angegeben ist, debuggt ein Debugger den neuen Prozess und alle Nachfolger des Prozesses, vorausgesetzt, die Nachfolger werden ohne das flag DEBUG_PROCESS erstellt.
Wenn die Flags DEBUG_PROCESS und DEBUG_ONLY_THIS_PROCESS für fdwCreate angegeben sind, debuggt ein Debugger den neuen Prozess, aber keines seiner Nachfolger.
Ein Debugger kann einen anderen debuggen, indem er einen Prozess mit dem flag DEBUG_PROCESS erstellt. Der neue Prozess (der Debugger, der gedebuggt wird) muss dann einen Prozess mit dem flag DEBUG_PROCESS erstellen.
Die OpenProcess-Funktion ermöglicht es einem Debugger, den Bezeichner eines vorhandenen Prozesses abzurufen. (Die DebugActiveProcess-Funktion verwendet diesen Bezeichner, um den Debugger an den Prozess anzufügen.) In der Regel öffnen Debugger einen Prozess mit den flags PROCESS_VM_READ und PROCESS_VM_WRITE. Mithilfe dieser Flags kann der Debugger mithilfe der Funktionen ReadProcessMemory und WriteProcessMemory aus dem virtuellen Arbeitsspeicher des Prozesses lesen und in diesen schreiben. Weitere Informationen finden Sie unter Prozesse und Threads.