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 è sospeso e può essere eseguito solo al termine del collegamento. Ciò consente la sincronizzazione approssimativa quando si esegue il debug, i processi client e 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 usare per collegare il 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 allegano a un processo esistente, come fa AttachProcess .

[in] CreateFlags

Specifica i flag da usare 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 il modo in cui il debugger si collega 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 altre informazioni, vedere Valori restituiti .

Codice restituito Descrizione
S_OK
Il metodo è stato eseguito correttamente.

Commenti

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 è completamente collegato al processo finché non è stato 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 l'associazione alle destinazioni in modalità utente live, vedere Destinazioni live User-Mode.

Requisiti

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

Vedi anche

.attach (Attach to Process)

.create (Crea processo)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess