Sdílet prostřednictvím


ICorDebug::CreateProcess – metoda

Spustí proces a jeho primární vlákno pod kontrolou ladicího programu.

Syntaxe

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  
);  

Parametry

lpApplicationName
[v] Ukazatel na řetězec zakončený hodnotou null, který určuje modul, který má být spuštěn spuštěný proces. Modul se spouští v kontextu zabezpečení volajícího procesu.

lpCommandLine
[v] Ukazatel na řetězec zakončený hodnotou null, který určuje příkazový řádek, který má být spuštěn spuštěný proces. Název aplikace (například "SomeApp.exe") musí být prvním argumentem.

lpProcessAttributes
[v] Ukazatel na strukturu Win32 SECURITY_ATTRIBUTES , která určuje popisovač zabezpečení pro proces. Pokud lpProcessAttributes má hodnotu null, proces získá výchozí popisovač zabezpečení.

lpThreadAttributes
[v] Ukazatel na win32 SECURITY_ATTRIBUTES struktury, která určuje popisovač zabezpečení pro primární vlákno procesu. Pokud lpThreadAttributes je null, vlákno získá výchozí popisovač zabezpečení.

bInheritHandles
[v] Pokud chcete označit, že každý zděditelný popisovač ve volajícím procesu je spuštěný proces zděděný, nebo false že se popisovače nedědí, nastavte na true hodnotu . Zděděné popisovače mají stejnou hodnotu a přístupová práva jako původní popisovače.

dwCreationFlags
[v] Bitová kombinace příznaků vytváření procesu Win32 , které řídí třídu priority a chování spuštěného procesu.

lpEnvironment
[v] Ukazatel na blok prostředí pro nový proces.

lpCurrentDirectory
[v] Ukazatel na řetězec zakončený hodnotou null, který určuje úplnou cestu k aktuálnímu adresáři pro proces. Pokud je tento parametr null, nový proces bude mít stejnou aktuální jednotku a adresář jako volající proces.

lpStartupInfo
[v] Ukazatel na strukturu Win32 STARTUPINFOW , která určuje okenní stanici, plochu, standardní úchyty a vzhled hlavního okna pro spuštěný proces.

lpProcessInformation
[v] Ukazatel na win32 PROCESS_INFORMATION struktury, který určuje identifikační informace o procesu, který má být spuštěn.

debuggingFlags
[v] Hodnota CorDebugCreateProcessFlags výčtu, která určuje možnosti ladění.

ppProcess
[out] Ukazatel na adresu ICorDebugProcess objekt, který představuje proces.

Poznámky

Parametry této metody jsou stejné jako parametry metody Win32 CreateProcess .

Pokud chcete povolit nespravované ladění ve smíšeném režimu, nastavte dwCreationFlags na DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Pokud chcete používat pouze spravované ladění, nenastavujte tyto příznaky.

Pokud ladicí program a proces, který se má ladit (připojený proces), sdílí jednu konzolu a pokud se používá ladění zprostředkovatele komunikace, je možné, že připojený proces drží zámky konzoly a zastaví se při události ladění. Ladicí program pak zablokuje všechny pokusy o použití konzoly nástroje . Chcete-li se tomuto problému vyhnout, nastavte v parametru dwCreationFlags příznak CREATE_NEW_CONSOLE.

Ladění vzájemné spolupráce není podporováno na platformách Win9x a jiných platformách než x86, jako jsou platformy založené na IA-64 a AMD64.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorDebug.idl, CorDebug.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 1.0

Viz také