ICorDebug::CreateProcess 메서드
디버거의 제어 하에 프로세스 및 기본 스레드를 시작합니다.
구문
HRESULT CreateProcess (
[in] LPCWSTR lpApplicationName,
[in] LPWSTR lpCommandLine,
[in] LPSECURITY_ATTRIBUTES lpProcessAttributes,
[in] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] BOOL bInheritHandles,
[in] DWORD dwCreationFlags,
[in] PVOID lpEnvironment,
[in] LPCWSTR lpCurrentDirectory,
[in] LPSTARTUPINFOW lpStartupInfo,
[in] LPPROCESS_INFORMATION lpProcessInformation,
[in] CorDebugCreateProcessFlags debuggingFlags,
[out] ICorDebugProcess **ppProcess
);
매개 변수
lpApplicationName
[in] 시작된 프로세스에서 실행할 모듈을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 모듈은 호출 프로세스의 보안 컨텍스트에서 실행됩니다.
lpCommandLine
[in] 시작된 프로세스에서 실행할 명령줄을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 애플리케이션 이름(예: "SomeApp.exe")은 첫 번째 인수여야 합니다.
lpProcessAttributes
[in] 프로세스의 보안 설명자를 지정하는 Win32 SECURITY_ATTRIBUTES
구조체에 대한 포인터입니다. lpProcessAttributes
가 null이면 프로세스는 기본 보안 설명자를 가져옵니다.
lpThreadAttributes
[in] 프로세스의 기본 스레드에 대한 보안 설명자를 지정하는 Win32 SECURITY_ATTRIBUTES
구조체에 대한 포인터입니다. lpThreadAttributes
가 null이면 스레드는 기본 보안 설명자를 가져옵니다.
bInheritHandles
[in] true
호출 프로세스의 상속 가능한 각 핸들이 시작된 프로세스에서 상속됨을 나타내거나 false
핸들이 상속되지 않음을 나타내도록 설정합니다. 상속된 핸들은 원래 핸들과 동일한 값 및 액세스 권한을 갖습니다.
dwCreationFlags
[in] 우선 순위 클래스와 시작된 프로세스의 동작을 제어하는 Win32 프로세스 생성 플래그 의 비트 조합입니다.
lpEnvironment
[in] 새 프로세스에 대한 환경 블록에 대한 포인터입니다.
lpCurrentDirectory
[in] 프로세스의 현재 디렉터리에 대한 전체 경로를 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 매개 변수가 null이면 새 프로세스는 호출 프로세스와 동일한 현재 드라이브 및 디렉터리를 사용합니다.
lpStartupInfo
[in] 시작된 프로세스에 대한 주 창의 창 스테이션, 데스크톱, 표준 핸들 및 모양을 지정하는 Win32 STARTUPINFOW
구조체에 대한 포인터입니다.
lpProcessInformation
[in] 시작할 프로세스에 대한 식별 정보를 지정하는 Win32 PROCESS_INFORMATION
구조체에 대한 포인터입니다.
debuggingFlags
[in] 디버깅 옵션을 지정하는 CorDebugCreateProcessFlags 열거형의 값입니다.
ppProcess
[out] 프로세스를 나타내는 ICorDebugProcess 개체의 주소에 대한 포인터입니다.
설명
이 메서드의 매개 변수는 Win32 CreateProcess
메서드의 매개 변수와 동일합니다.
관리되지 않는 혼합 모드 디버깅을 사용하도록 설정하려면 dwCreationFlags
를 DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS로 설정합니다. 관리되는 디버깅만 사용하려면 이러한 플래그를 설정하지 마세요.
디버거와 디버그할 프로세스(연결된 프로세스)가 단일 콘솔을 공유하고 interop 디버깅을 사용하는 경우, 연결된 프로세스에서 콘솔 잠금을 유지하고 디버그 이벤트에서 중지할 수 있습니다. 그러면 디버거가 콘솔을 사용하려는 시도를 차단합니다. 이 문제를 방지하려면 dwCreationFlags
매개 변수에서 CREATE_NEW_CONSOLE 플래그를 설정합니다.
Interop 디버깅은 Win9x 및 IA-64 기반 및 AMD64 기반 플랫폼과 같은 비 x86 플랫폼에서 지원되지 않습니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorDebug.idl, CorDebug.h
라이브러리: CorGuids.lib
.NET Framework 버전: 1.0부터 사용 가능
참고 항목
.NET