Partager via


IDebugClient3 ::AttachProcess, méthode (dbgeng.h)

La méthode AttachProcess connecte le moteur de débogueur à un processus en mode utilisateur.

Syntaxe

HRESULT AttachProcess(
  [in] ULONG64 Server,
  [in] ULONG   ProcessId,
  [in] ULONG   AttachFlags
);

Paramètres

[in] Server

Spécifie le serveur de processus à utiliser pour l’attacher au processus. Si serveur est égal à zéro, le moteur se connecte à un processus local sans utiliser de serveur de processus.

[in] ProcessId

Spécifie l’ID de processus du processus cible auquel le débogueur est attaché.

[in] AttachFlags

Spécifie les indicateurs qui contrôlent la façon dont le débogueur s’attache au processus cible. Pour plus d’informations sur ces indicateurs, consultez Remarques.

Valeur de retour

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez valeurs de retour.

Retourner le code Description
S_OK
La méthode a réussi.

Remarques

Cette méthode est disponible uniquement pour le débogage en mode utilisateur en direct.

Remarque Le moteur n’est pas entièrement attaché au processus tant que la méthode WaitForEvent n’a pas été appelée. Une fois que le processus a généré un événement (par exemple, l’événement create-process) devient disponible dans la session du débogueur.
 
Pour plus d’informations sur la création et l’attachement à des cibles en mode utilisateur en direct, consultez Cibles live User-Mode.

Les indicateurs de bitsXXX DEBUG_ATTACH_ contrôlent la façon dont le moteur de débogueur s’attache à un processus en mode utilisateur. Pour connaître les options deXXX DEBUG_ATTACH_ utilisées lors de l’attachement à une cible de noyau, consultez AttachKernel.

Le tableau suivant décrit les valeurs d’indicateur possibles.

Constant Description
DEBUG_ATTACH_NONINVASIVE Attachez-vous à la cible de manière nonvasive. Pour plus d’informations sur le débogage nonvasif, consultez débogage noninvasif (mode utilisateur).

Si cet indicateur est défini, les indicateurs DEBUG_ATTACH_EXISTING, DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK et DEBUG_ATTACH_INVASIVE_RESUME_PROCESS ne doivent pas être définis.

DEBUG_ATTACH_EXISTING Attachez à nouveau une application à laquelle un débogueur a déjà attaché (et éventuellement abandonné). Pour plus d’informations sur la re-attachement à des cibles, consultez ré-attachement à l’application cible.

Si cet indicateur est défini, les autres indicateurs DEBUG_ATTACH_XXX ne doivent pas être définis.

DEBUG_ATTACH_NONINVASIVE_NO_SUSPEND Ne suspendez pas les threads de la cible lors de l’attachement de manière nonvasive.

Si cet indicateur est défini, l’indicateur DEBUG_ATTACH_NONINVASIVE doit également être défini.

DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK (Windows XP et versions ultérieures) Ne demandez pas d’arrêt initial lors de l’attachement à la cible.

Si cet indicateur est défini, les indicateurs DEBUG_ATTACH_NONINVASIVE et DEBUG_ATTACH_EXISTING ne doivent pas être définis.

DEBUG_ATTACH_INVASIVE_RESUME_PROCESS Si cet indicateur est défini, les indicateurs DEBUG_ATTACH_NONINVASIVE et DEBUG_ATTACH_EXISTING ne doivent pas être définis.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête dbgeng.h (include Dbgeng.h)

Voir aussi

.attach (Attacher au processus)

AbandonCurrentProcess

AttachKernel

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess

moteur de débogueur