Metodo IDebugClient3::CreateProcessAndAttachWide (dbgeng.h)
Il metodo CreateProcessAndAttachWide crea un processo da una riga di comando specificata, quindi collegarsi a un altro processo in modalità utente. Il processo creato viene sospeso e può essere eseguito solo al termine del collegamento. Ciò consente una sincronizzazione approssimativa durante il debug di processi sia client che server.
Sintassi
HRESULT CreateProcessAndAttachWide(
[in] ULONG64 Server,
[in, optional] PWSTR CommandLine,
[in] ULONG CreateFlags,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Parametri
[in] Server
Specifica il server di elaborazione da utilizzare per il collegamento al processo. Se Server è zero, il motore si connetterà al processo locale senza usare un server di elaborazione.
[in, optional] CommandLine
Specifica la riga di comando da eseguire per creare il nuovo processo. Se CommandLine è NULL, non viene creato alcun processo e questi metodi si collegano a un processo esistente, come AttachProcess.
[in] CreateFlags
Specifica i flag da utilizzare durante la creazione del processo. Per informazioni dettagliate su questi flag, vedere DEBUG_CREATE_PROCESS_OPTIONS.CreateFlags.
[in] ProcessId
Specifica l'ID processo del processo di destinazione a cui verrà collegato il debugger. Se ProcessId è zero, il debugger verrà collegato al processo creato da CommandLine.
[in] AttachFlags
Specifica i flag che controllano la modalità di connessione del debugger al processo di destinazione. Per informazioni dettagliate su questi flag, vedere DEBUG_ATTACH_XXX.
Valore restituito
Questo metodo può anche restituire valori di errore. Per altri dettagli, vedere valori restituiti.
Codice restituito | Descrizione |
---|---|
|
Il metodo ha avuto esito positivo. |
Osservazioni
Questo metodo è disponibile solo per il debug in modalità utente live.
Se CommandLine non è NULL e ProcessId non è zero, il motore creerà il processo in uno stato sospeso. Il motore riprenderà questo processo appena creato dopo che si connette correttamente al processo specificato in ProcessId.
Il motore non si connette completamente al processo finché non viene chiamato il metodo WaitForEvent. Solo dopo che il processo ha generato un evento, ad esempio l'evento create-process, diventa disponibile nella sessione del debugger.
Per altre informazioni sulla creazione e la connessione a destinazioni in modalità utente live, vedere Destinazioni User-Mode live.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | dbgeng.h (include Dbgeng.h) |