Compartir a través de


Método IDebugClient5::AttachProcess (dbgeng.h)

El método AttachProcess conecta el motor del depurador de a un proceso en modo de usuario.

Sintaxis

HRESULT AttachProcess(
  [in] ULONG64 Server,
  [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á a un proceso local sin usar un servidor de procesos.

[in] ProcessId

Especifica el identificador de proceso del proceso de destino al que se asociará el depurador.

[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, vea Comentarios.

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.

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.

El DEBUG_ATTACH_XXX marcas de bits controla cómo el motor del depurador de se asocia a un proceso en modo de usuario. Para obtener las opciones deXXX de DEBUG_ATTACH_ que se usan al asociarse a un destino de kernel, consulte AttachKernel.

En la tabla siguiente se describen los posibles valores de marca.

Constante Descripción
DEBUG_ATTACH_NONINVASIVE Adjunte al destino de forma novasiva. Para obtener más información sobre la depuración novasiva, vea depuración novasiva (modo de usuario).

Si se establece esta marca, no se deben establecer las marcas DEBUG_ATTACH_EXISTING, DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK y DEBUG_ATTACH_INVASIVE_RESUME_PROCESS.

DEBUG_ATTACH_EXISTING Vuelva a adjuntar a una aplicación a la que un depurador ya se haya asociado (y posiblemente abandonado). Para obtener más información sobre cómo volver a asociar a destinos, consulte Volver a adjuntar a la aplicación de destino.

Si se establece esta marca, no se deben establecer las demás marcas de DEBUG_ATTACH_XXX.

DEBUG_ATTACH_NONINVASIVE_NO_SUSPEND No suspenda los subprocesos del destino al adjuntar de forma novasiva.

Si se establece esta marca, también se debe establecer la marca DEBUG_ATTACH_NONINVASIVE.

DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK (Windows XP y versiones posteriores) No solicite un inicio de sesión inicial al asociarse al destino.

Si se establece esta marca, no se deben establecer las marcas DEBUG_ATTACH_NONINVASIVE y DEBUG_ATTACH_EXISTING.

DEBUG_ATTACH_INVASIVE_RESUME_PROCESS Si se establece esta marca, no se deben establecer las marcas DEBUG_ATTACH_NONINVASIVE y DEBUG_ATTACH_EXISTING.

Requisitos

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

Consulte también

.attach (Asociar al proceso)

AbandonCurrentProcess

AttachKernel

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess

del motor de depurador