Metodo IDebugClient3::CreateProcessAndAttach (dbgeng.h)

Il metodo CreateProcessAndAttach 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. In questo modo è possibile eseguire la sincronizzazione approssimativa durante il debug di processi sia client che server.

Sintassi

HRESULT CreateProcessAndAttach(
  [in]           ULONG64 Server,
  [in, optional] PSTR    CommandLine,
  [in]           ULONG   CreateFlags,
  [in]           ULONG   ProcessId,
  [in]           ULONG   AttachFlags
);

Parametri

[in] Server

Specifica il server di elaborazione da utilizzare per connettersi 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 fa 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 collegamento 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
S_OK
Il metodo è stato eseguito correttamente.

Commenti

Questo metodo è disponibile solo per il debug in modalità utente attiva.

Se CommandLine non è NULL e ProcessId non è zero, il motore creerà il processo in uno stato sospeso. Il motore riprenderà il processo appena creato dopo la connessione al processo specificato in ProcessId.

Nota Il motore non è completamente collegato 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 di live User-Mode.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione dbgeng.h (include Dbgeng.h)

Vedi anche

.attach (Connetti a processo)

.create (crea processo)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

Idebugclient

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess