Compartir a través de


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

El método AttachProcess conecta el motor del depurador a un 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 asocia 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 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.

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.

Las marcas de bits DEBUG_ATTACH_XXX controlan cómo se asocia el motor del depurador a un proceso en modo de usuario. Para obtener las opciones DEBUG_ATTACH_XXX que se usan al adjuntar 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 está asociado (y posiblemente abandonado). Para obtener más información sobre cómo volver a adjuntar 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 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 salto inicial al adjuntar 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 Value
Plataforma de destino Escritorio
Encabezado 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

motor del depurador