Metodo ICorDebug::CreateProcess

Avvia un processo e il relativo thread primario sotto il controllo del debugger.

Sintassi

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

Parametri

lpApplicationName
[in] Puntatore a una stringa con terminazione null che specifica il modulo da eseguire dal processo avviato. Il modulo viene eseguito nel contesto di sicurezza del processo chiamante.

lpCommandLine
[in] Puntatore a una stringa con terminazione null che specifica la riga di comando da eseguire dal processo avviato. Il nome dell'applicazione (ad esempio, "SomeApp.exe") deve essere il primo argomento.

lpProcessAttributes
[in] Puntatore a una struttura Win32 SECURITY_ATTRIBUTES che specifica il descrittore di sicurezza per il processo. Se lpProcessAttributes è Null, il processo ottiene un descrittore di sicurezza predefinito.

lpThreadAttributes
[in] Puntatore a una struttura Win32 SECURITY_ATTRIBUTES che specifica il descrittore di sicurezza per il thread primario del processo. Se lpThreadAttributes è Null, il thread ottiene un descrittore di sicurezza predefinito.

bInheritHandles
[in] Impostare su per true indicare che ogni handle ereditabile nel processo chiamante viene ereditato dal processo avviato o false per indicare che gli handle non vengono ereditati. Gli handle ereditati hanno lo stesso valore e diritti di accesso degli handle originali.

dwCreationFlags
[in] Combinazione bit per bit dei flag di creazione di processi Win32 che controllano la classe di priorità e il comportamento del processo avviato.

lpEnvironment
[in] Puntatore a un blocco di ambiente per il nuovo processo.

lpCurrentDirectory
[in] Puntatore a una stringa con terminazione null che specifica il percorso completo della directory corrente per il processo. Se questo parametro è Null, il nuovo processo avrà la stessa unità corrente e la directory del processo chiamante.

lpStartupInfo
[in] Puntatore a una struttura Win32 STARTUPINFOW che specifica la stazione finestra, il desktop, gli handle standard e l'aspetto della finestra principale per il processo avviato.

lpProcessInformation
[in] Puntatore a una struttura Win32 PROCESS_INFORMATION che specifica le informazioni di identificazione sul processo da avviare.

debuggingFlags
[in] Valore dell'enumerazione CorDebugCreateProcessFlags che specifica le opzioni di debug.

ppProcess
[out] Puntatore all'indirizzo di un oggetto ICorDebugProcess che rappresenta il processo.

Commenti

I parametri di questo metodo sono uguali a quelli del metodo Win32 CreateProcess .

Per abilitare il debug in modalità mista non gestita, impostare dwCreationFlags su DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Se si vuole usare solo il debug gestito, non impostare questi flag.

Se il debugger e il processo da eseguire il debug (processo collegato) condividono una singola console e, se viene usato il debug di interoperabilità, è possibile che il processo collegato contenga blocchi della console e si arresti in un evento di debug. Il debugger bloccherà quindi qualsiasi tentativo di usare la console. Per evitare questo problema, impostare il flag di CREATE_NEW_CONSOLE nel dwCreationFlags parametro.

Il debug dell'interoperabilità non è supportato nelle piattaforme Win9x e non x86, ad esempio le piattaforme basate su IA-64 e AMD64.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorDebug.idl, CorDebug.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile da 1.0

Vedi anche