Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 true per 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 gli stessi diritti di accesso degli handle originali.
dwCreationFlags [in] Combinazione bit per bit dei flag di creazione del processo 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 stessa directory del processo chiamante.
lpStartupInfo [in] Puntatore a una struttura Win32 STARTUPINFOW che specifica la stazione della 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.
Osservazioni:
I parametri di questo metodo sono uguali a quelli del metodo Win32 CreateProcess .
Per abilitare il debug in modalità mista non gestita, impostare su dwCreationFlags 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 sottoporre a 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 CREATE_NEW_CONSOLE nel dwCreationFlags parametro .
Il debug di interoperabilità non è supportato nelle piattaforme Win9x e non x86, ad esempio le piattaforme basate su IA-64 e AMD64.
Requisiti
Piattaforme: Vedere Sistemi operativi supportati da .NET.
Intestazione: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versioni di .NET: Disponibile a partire da .NET Framework 1.0