디버깅을 위한 프로세스 함수

CreateProcess 함수를 사용하면 디버거가 프로세스를 시작하고 디버그할 수 있습니다. CreateProcessfdwCreate 매개 변수는 디버깅 작업의 형식을 지정하는 데 사용됩니다. 매개 변수에 대해 DEBUG_PROCESS 플래그를 지정하는 경우 디버거는 DEBUG_PROCESS 플래그 없이 하위 항목이 만들어질 때 새 프로세스와 모든 프로세스의 하위 항목을 디버그합니다.

fdwCreate에 대해 DEBUG_PROCESS 및 DEBUG_ONLY_THIS_PROCESS 플래그를 지정하는 경우 디버거는 새 프로세스를 디버그하지만 하위 항목은 디버그하지 않습니다.

하나의 디버거는 DEBUG_PROCESS 플래그를 사용하여 프로세스를 만들어 다른 디버그를 할 수 있습니다. 그런 다음 새 프로세스(디버깅 중인 디버거)는 DEBUG_PROCESS 플래그를 사용하여 프로세스를 만들어야 합니다.

OpenProcess 함수를 사용하면 디버거가 기존 프로세스의 식별자를 가져올 수 있습니다. (DebugActiveProcess 함수는 이 식별자를 사용하여 디버거를 프로세스에 연결합니다.) 일반적으로 디버거는 PROCESS_VM_READ 및 PROCESS_VM_WRITE 플래그를 사용하여 프로세스를 엽니다. 이러한 플래그를 사용하면 디버거가 ReadProcessMemoryWriteProcessMemory 함수를 사용하여 프로세스의 가상 메모리에서 읽고 쓸 수 있습니다. 자세한 내용은 프로세스 및 스레드를 참조하세요.