Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si une application en mode utilisateur est déjà en cours d’exécution, le débogueur peut le déboguer de manière nonvasive. Avec le débogage non-invasif, vous n’avez pas autant d’options de débogage. Toutefois, vous pouvez réduire l’interférence du débogueur avec l’application cible. Le débogage nonvasif est utile si l’application cible a cessé de répondre.
Dans le débogage nonvasif, le débogueur n’est pas réellement attaché à l’application cible. Le débogueur suspend tous les threads de la cible et a accès à la mémoire, aux registres et à d’autres informations de ce type. Toutefois, le débogueur ne peut pas contrôler la cible. Par conséquent, 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 noninvasif, vous recevez un message d’erreur indiquant que « Le débogueur n’est pas attaché, de sorte que l’exécution du processus ne peut pas être surveillée ».
Sélection du processus pour 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 ont 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 nonvasive, consultez les rubriques suivantes :
- Débogage d’un processus de User-Mode à l’aide de WinDbg
- Débogage d’un processus de User-Mode à l’aide de CDB
Ligne de commande CDB
Pour déboguer 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 nonvasive un processus en cours d’exécution en spécifiant le nom du processus, utilisez plutôt la syntaxe suivante.
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 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 nonvasive un processus en cours d’exécution en spécifiant le nom du processus, utilisez plutôt la syntaxe suivante.
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 Command-Line WinDbg.
WinDbg Menu
Lorsque WinDbg est en mode dormant, vous pouvez déboguer de manière nonvasive 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, cochez la case Non intrusif. Sélectionnez ensuite la ligne qui contient l’ID de processus et le nom souhaités. (Vous pouvez également entrer l’ID de processus dans la zone ID de processus.) Enfin, cliquez sur OK.
Fenêtre de Commande du Débogueur
Si le débogueur est déjà actif, vous pouvez déboguer de manière nonvasive 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 nonvasif, le débogueur ne peut pas déboguer de manière nonvasive 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ébut d’une session de débogage, consultez Opération du débogueur.