Condividi tramite


Metodo ICorDebug::CreateProcess

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

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 un carattere di terminazione null che specifica il modulo che deve essere eseguito dal processo avviato. Il modulo viene eseguito nel contesto di sicurezza del processo chiamante.

  • lpCommandLine
    [in] Puntatore a una stringa con un carattere di terminazione null che specifica la riga di comando che deve essere eseguita dal processo avviato.

  • lpProcessAttributes
    [in] Puntatore a una struttura SECURITY_ATTRIBUTES Win32 che specifica il descrittore di sicurezza per il processo. Se il parametro lpProcessAttributes è null, il processo otterrà un descrittore di sicurezza predefinito.

  • lpThreadAttributes
    [in] Puntatore a una struttura SECURITY_ATTRIBUTES Win32 che specifica il descrittore di sicurezza per il thread primario del processo. Se il parametro lpThreadAttributes è null, il thread otterrà un descrittore di sicurezza predefinito.

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

  • dwCreationFlags
    [in] Combinazione bit per bit dei flag Win32 Process Creation Flags (informazioni in lingua inglese) 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 un carattere di terminazione null che specifica il percorso completo della directory corrente per il processo. Se questo parametro è null, il nuovo processo avrà le stesse unità e directory correnti del processo chiamante.

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

  • lpProcessInformation
    [in] Puntatore a una struttura PROCESS_INFORMATION Win32 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.

Note

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

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

Se il debugger e il processo da sottoporre a debug (il processo associato) condividono un'unica console e se viene utilizzato il debug di interoperabilità, è possibile che il processo associato detenga blocchi di console e si interrompa a un evento di debug. Il debugger quindi bloccherà qualsiasi tentativo di utilizzare la console. Per evitare questo problema, impostare il flag CREATE_NEW_CONSOLE nel parametro dwCreationFlags.

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

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorDebug.idl, CorDebug.h

Libreria: CorGuids.lib

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vedere anche

Riferimenti

Interfaccia ICorDebug