CreateProcess功能使调试器能够启动进程并对其进行调试。CreateProcess的【fdwCreate】参数用于指定调试操作的类型。如果为参数指定了DEBUG_PROCESS标志,则调试器会调试新进程和所有进程的后代,前提是在没有DEBUG_PROCESS标志的情况下创建后代。
如果为【fdwCreate】指定了DEBUG_PROCESS和DEBUG_ONLY_THIS_PROCESS标志,则调试器调试新进程,但不调用其后代。
一个调试器可以通过使用DEBUG_PROCESS标志创建进程来调试另一个。新进程(正在调试的调试器)必须使用DEBUG_PROCESS标志创建一个进程。
OpenProcess功能使调试器能够获取现有进程的标识符。(DebugActiveProcess函数使用此标识符将调试器附加到进程。)通常,调试器使用PROCESS_VM_READ和PROCESS_VM_WRITE标志打开进程。通过使用这些标志,调试器可以使用ReadProcessMemory和WriteProcessMemory功能读取和写入进程的虚拟内存。有关流程的更多信息,请参阅进程和线程.