Funzioni di processo per il debug
La funzioneCreateProcessconsente 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 funzioneOpenProcessconsente a un debugger di ottenere l'identificatore di un processo esistente. La funzioneDebugActiveProcessusa 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 funzioniReadProcessMemorye WriteProcessMemory. Per altre informazioni, vedere Processi e thread.