Compartir a través de


Método IDebugClient4::CreateProcessAndAttach (dbgeng.h)

El método CreateProcessAndAttach crea un proceso a partir de una línea de comandos especificada y, a continuación, se asocia a otro proceso en modo de usuario. El proceso creado se suspende y solo se permite ejecutar cuando se haya completado la asociación. Esto permite una sincronización aproximada al depurar los procesos de cliente y servidor.

Sintaxis

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

Parámetros

[in] Server

Especifica el servidor de procesos que se va a usar para asociarlo al proceso. Si Server es cero, el motor se conectará al proceso local sin usar un servidor de procesos.

[in, optional] CommandLine

Especifica la línea de comandos que se va a ejecutar para crear el nuevo proceso. Si CommandLine es NULL, no se crea ningún proceso y estos métodos se adjuntan a un proceso existente, como AttachProcess.

[in] CreateFlags

Especifica las marcas que se van a usar al crear el proceso. Para obtener más información sobre estas marcas, consulte DEBUG_CREATE_PROCESS_OPTIONS.CreateFlags.

[in] ProcessId

Especifica el identificador de proceso del proceso de destino al que se asociará el depurador. Si processId es cero, el depurador se asociará al proceso que creó a partir de CommandLine.

[in] AttachFlags

Especifica las marcas que controlan cómo se adjunta el depurador al proceso de destino. Para obtener más información sobre estas marcas, consulte DEBUG_ATTACH_XXX.

Valor devuelto

Este método también puede devolver valores de error. Consulte valores devueltos para obtener más información.

Código devuelto Descripción
S_OK
El método se realizó correctamente.

Observaciones

Este método solo está disponible para la depuración en modo usuario activo.

Si CommandLine no es NULL y ProcessId no es cero, el motor creará el proceso en un estado suspendido. El motor reanudará este proceso recién creado después de que se conecte correctamente al proceso especificado en ProcessId.

Nota El motor no se asocia completamente al proceso hasta que se haya llamado al método WaitForEvent. Solo después de que el proceso haya generado un evento (por ejemplo, el evento create-process), estará disponible en la sesión del depurador.
 
Para obtener más información sobre cómo crear y adjuntar destinos en modo de usuario activo, consulte Live User-Mode Targets.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de dbgeng.h (include Dbgeng.h)

Consulte también

.attach (Asociar al proceso)

.create (Crear proceso)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess