.attach (Attacher au processus)
La commande .attach s’attache à une nouvelle application cible.
.attach [-premote RemoteOptions] AttachOptions PID
Paramètres
RemoteOptions
Spécifie un serveur de processus auquel attacher. Les options sont identiques à celles de l’option de ligne de commande -premote . Pour plus d’informations sur la syntaxe, consultez Activation d’un client intelligent.
AttachOptions
Spécifie la façon dont l’attachement doit être effectué. Cela peut inclure l’une des options suivantes :
-b
Empêche le débogueur de demander un arrêt initial lors de l’attachement à un processus cible. Cela peut être utile si l’application est déjà suspendue ou si vous souhaitez éviter de créer un thread d’arrêt dans la cible.
-e
Permet au débogueur de s’attacher à un processus déjà débogué. Pour plus d’informations, voir Re-attachement à l’application cible.
-k
Commence une session de débogage de noyau local. Pour plus d’informations, consultez Exécution du débogage du noyau local.
-f
Fige tous les threads dans toutes les applications cibles, sauf dans la nouvelle cible attachée. Ces threads restent figés jusqu’à ce qu’une exception se produise dans le processus nouvellement attaché. Notez qu’un point d’arrêt initial est qualifié d’exception. Les threads individuels peuvent être décompressés à l’aide de la commande ~u (Unfreeze Thread).
-r
Provoque le démarrage du débogueur du processus cible en cours d’exécution lors de son attachement. Cela peut être utile si l’application est déjà suspendue et que vous souhaitez reprendre l’exécution.
-v
Provoque le débogage nonvasif du processus spécifié.
PID
Spécifie l’ID de processus de la nouvelle application cible.
Environnement
Élément | Description |
---|---|
Modes | mode utilisateur uniquement |
Targets | uniquement en débogage |
Platforms | all |
Notes
Cette commande peut être utilisée lorsque CDB est dormant ou s’il débogue déjà un ou plusieurs processus. Il ne peut pas être utilisé lorsque WinDbg est dormant.
Si cette commande réussit, le débogueur s’attache au processus spécifié la prochaine fois que le débogueur émet une commande d’exécution. Si cette commande est utilisée plusieurs fois dans une ligne, l’exécution doit être demandée autant de fois que cette commande a été utilisée.
Étant donné que l’exécution n’est pas autorisée pendant le débogage nonvasif, le débogueur n’est pas en mesure de déboguer plusieurs processus à la fois. Cela signifie également que l’utilisation de la commande .attach -v peut afficher une session de débogage invasive déjà existante moins utile.
Plusieurs processus cibles sont toujours exécutés ensemble, sauf si certains de leurs threads sont figés ou suspendus.
Si vous souhaitez attacher à un nouveau processus et figer toutes vos cibles existantes, utilisez l’option -f . Par exemple, vous pouvez déboguer un incident dans une application cliente et souhaitez vous attacher au processus serveur sans laisser l’application cliente continuer à s’exécuter.
Si l’option -premote est utilisée, le nouveau processus fait partie d’un nouveau système. Pour plus d’informations, consultez Débogage de plusieurs cibles.