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 ukončený hodnotou null, který určuje modul, který má být spuštěn procesem spuštění. Modul se provádí v kontextu zabezpečení volajícího procesu.

lpCommandLine [v] Ukazatel na řetězec ukončený hodnotou null, který určuje příkazový řádek, který má být spuštěn procesem spuštění. 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í procesu. Pokud lpProcessAttributes je null, proces získá výchozí popisovač zabezpečení.

lpThreadAttributes [v] Ukazatel na strukturu Win32 SECURITY_ATTRIBUTES , 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] Nastavte na true označení, že každý zděděný popisovač v volajícím procesu je zděděn spuštěným procesem nebo false indikuje, že popisovače nejsou zděděny. Zděděné popisovače mají stejnou hodnotu a přístupová práva jako původní popisovače.

dwCreationFlags [v] Bitové kombinace příznaků vytvoř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 ukončený hodnotou null, který určuje úplnou cestu k aktuálnímu adresáři procesu. Pokud má tento parametr hodnotu 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 stanici oken, plochu, standardní úchyty a vzhled hlavního okna pro spuštěný proces.

lpProcessInformation [v] Ukazatel na strukturu Win32 PROCESS_INFORMATION , která určuje identifikační informace o procesu, který se má spustit.

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

ppProcess [ven] Ukazatel na adresu ICorDebugProcess objektu, 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žít 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í vzájemné spolupráce, je možné, aby připojený proces přidržil zámky konzoly a zastavil při události ladění. Ladicí program pak zablokuje všechny pokusy o použití konzoly. Chcete-li se tomuto problému vyhnout, nastavte příznak CREATE_NEW_CONSOLE v parametru dwCreationFlags .

Ladění 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.

Hlavička: CorDebug.idl, CorDebug.h

Knihovna: CorGuids.lib

Verze rozhraní .NET Framework: Dostupné od verze 1.0

Viz také