Compartir a través de


Método IDebugClient::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 hace AttachProcess .

[in] CreateFlags

Especifica las marcas que se van a usar al crear el proceso. Para 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 asocia el depurador al proceso de destino. Para 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 detalles.

Código devuelto Descripción
S_OK
Método realizado correctamente.

Comentarios

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 a destinos en modo de usuario activo, consulte Destinos de Live User-Mode.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado 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