Funkcje przetwarzania na potrzeby debugowania

Funkcja CreateProcess umożliwia debugerowi rozpoczęcie procesu i debugowanie go. Parametr fdwCreateCreateProcess służy do określania typu operacji debugowania. Jeśli dla parametru określono flagę DEBUG_PROCESS, debuger debuguje nowy proces i wszystkie elementy podrzędne procesu, pod warunkiem, że obiekty podrzędne są tworzone bez flagi DEBUG_PROCESS.

Jeśli flagi DEBUG_PROCESS i DEBUG_ONLY_THIS_PROCESS są określone dla fdwCreate, debuger debuguje nowy proces, ale żaden z jego elementów podrzędnych.

Jeden debuger może debugować inny, tworząc proces z flagą DEBUG_PROCESS. Nowy proces (debuger debugowany) musi następnie utworzyć proces z flagą DEBUG_PROCESS.

Funkcja OpenProcess umożliwia debugerowi uzyskanie identyfikatora istniejącego procesu. (Funkcja DebugActiveProcess używa tego identyfikatora do dołączenia debugera do procesu). Zazwyczaj debugery otwierają proces z flagami PROCESS_VM_READ i PROCESS_VM_WRITE. Użycie tych flag umożliwia debugerowi odczytywanie i zapisywanie w pamięci wirtualnej procesu przy użyciu funkcji ReadProcessMemory i WriteProcessMemory. Aby uzyskać więcej informacji, zobacz Procesy i wątki.