Funzioni di processo per il debug

La funzione CreateProcess consente a un debugger di avviare un processo ed eseguirne il debug. Il parametro fdwCreate di CreateProcess viene usato per specificare il tipo di operazione di debug. Se per il parametro viene specificato il flag DEBUG_PROCESS, un debugger esegue il debug del nuovo processo e di tutti i discendenti del processo, purché i discendenti vengano creati senza il flag DEBUG_PROCESS.

Se i flag DEBUG_PROCESS e DEBUG_ONLY_THIS_PROCESS vengono specificati per fdwCreate, un debugger esegue il debug del nuovo processo ma nessuno dei relativi discendenti.

Un debugger può eseguire il debug di un altro creando un processo con il flag DEBUG_PROCESS. Il nuovo processo (il debugger sottoposto a debug) deve quindi creare un processo con il flag DEBUG_PROCESS.

La funzione OpenProcess consente a un debugger di ottenere l'identificatore di un processo esistente. (L'oggetto La funzione DebugActiveProcess usa questo identificatore per collegare il debugger al processo. In genere, i debugger aprono un processo con i flag PROCESS_VM_READ e PROCESS_VM_WRITE. L'uso di questi flag consente al debugger di leggere e scrivere nella memoria virtuale del processo usando le funzioni ReadProcessMemory e WriteProcessMemory. Per altre informazioni, vedere Processi e thread.