Débogage non invasif (mode utilisateur)
Si une application en mode utilisateur est déjà en cours d’exécution, le débogueur peut la déboguer de manière non invasive. Avec le débogage non invasif, vous n’avez pas autant d’actions de débogage. Toutefois, vous pouvez réduire l’interférence du débogueur avec l’application cible. Le débogage non invasif est utile si l’application cible a cessé de répondre.
Dans le débogage non invasif, le débogueur ne s’attache pas réellement à l’application cible. Le débogueur suspend tous les threads de la cible et a accès à la mémoire de la cible, aux registres et à d’autres informations de ce type. Toutefois, le débogueur ne peut pas contrôler la cible, de sorte que les commandes telles que g (Go) ne fonctionnent pas.
Si vous essayez d’exécuter des commandes qui ne sont pas autorisées pendant le débogage non invasif, vous recevez un message d’erreur indiquant : « Le débogueur n’est pas attaché, l’exécution du processus ne peut donc pas être surveillée ».
Sélection du processus à déboguer
Vous pouvez spécifier l’application cible par l’ID de processus (PID) ou le nom du processus.
Si vous spécifiez l’application par nom, vous devez utiliser le nom complet du processus, y compris l’extension de nom de fichier. Si deux processus portent le même nom, vous devez utiliser l’ID de processus à la place.
Pour plus d’informations sur la façon de déterminer l’ID de processus et le nom du processus, consultez Recherche de l’ID de processus.
Pour plus d’informations sur le démarrage et l’arrêt d’une session de débogage non invasive, consultez les rubriques suivantes :
- Débogage d’un processus User-Mode à l’aide de WinDbg
- Débogage d’un processus User-Mode à l’aide de CDB
Ligne de commande CDB
Pour déboguer de manière non invasive un processus en cours d’exécution à partir de la ligne de commande CDB, spécifiez l’option -pv, l’option -p et l’ID de processus dans la syntaxe suivante.
cdb -pv -pProcessID
Ou, pour déboguer de manière non invasive un processus en cours d’exécution en spécifiant le nom du processus, utilisez la syntaxe suivante à la place.
cdb -pv -pnProcessName
Il existe plusieurs autres options de ligne de commande utiles. Pour plus d’informations sur la syntaxe de ligne de commande, consultez Options de Command-Line CDB.
Ligne de commande WinDbg
Pour déboguer de manière non invasive un processus en cours d’exécution à partir de la ligne de commande WinDbg, spécifiez l’option -pv, l’option -p et l’ID de processus dans la syntaxe suivante.
windbg -pv -pProcessID
Ou, pour déboguer de manière non invasive un processus en cours d’exécution en spécifiant le nom du processus, utilisez la syntaxe suivante à la place.
windbg -pv -pnProcessName
Il existe plusieurs autres options de ligne de commande utiles. Pour plus d’informations sur la syntaxe de ligne de commande, consultez Options de Command-Line WinDbg.
WinDbg Menu
Lorsque WinDbg est en mode dormant, vous pouvez déboguer de manière non invasive un processus en cours d’exécution en cliquant sur Attacher à un processus dans le menu Fichier ou en appuyant sur F6.
Lorsque la boîte de dialogue Attacher au processus s’affiche, sélectionnez la zone Case activée non invasif. Ensuite, sélectionnez la ligne qui contient l’ID et le nom de processus souhaités. (Vous pouvez également entrer l’ID de processus dans la zone ID de processus.) Enfin, cliquez sur OK.
Fenêtre commande du débogueur
Si le débogueur est déjà actif, vous pouvez déboguer de manière non invasive un processus en cours d’exécution à l’aide de la commande .attach -v (Attacher au processus) dans la fenêtre Commande du débogueur.
Vous pouvez utiliser la commande .attach si le débogueur débogue déjà un ou plusieurs processus de manière invasive. Vous pouvez utiliser cette commande dans CDB si elle est dormante, mais pas dans un WinDbg dormant.
Si la commande .attach -v réussit, le débogueur débogue le processus spécifié la prochaine fois que le débogueur émet une commande d’exécution. Étant donné que l’exécution n’est pas autorisée pendant le débogage non invasif, le débogueur ne peut pas déboguer plusieurs processus à la fois. Cette restriction signifie également que l’utilisation de la commande .attach -v peut rendre une session de débogage invasive existante moins utile.
Début de la session de débogage
Pour plus d’informations sur le démarrage d’une session de débogage, consultez Opération du débogueur.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour