!bpid
L’extension !bpid demande qu’un processus sur l’ordinateur cible se décompose dans le débogueur ou qu’un débogueur en mode utilisateur soit attaché à un processus sur l’ordinateur cible.
!bpid [Options] PID
Paramètres
Option
Contrôle les activités supplémentaires de cette commande.
Les valeurs valides pour Option apparaissent dans le tableau suivant.
-a |
Attache un nouveau débogueur en mode utilisateur au processus spécifié par PID. Le débogueur en mode utilisateur s’exécute sur l’ordinateur cible. |
-s |
Ajoute un point d’arrêt qui se produit dans le processus WinLogon immédiatement avant l’arrêt dans le processus en mode utilisateur spécifié par PID. Cela permet à l’utilisateur de vérifier la demande avant d’essayer l’action. |
-w |
Stocke la requête dans la mémoire de l’ordinateur cible. Le système cible peut ensuite répéter la requête, mais cela n’est généralement pas nécessaire. |
PID
Spécifie l’ID de processus du processus souhaité sur l’ordinateur cible. Si vous l’utilisez pour contrôler un débogueur en mode utilisateur sur l’ordinateur cible, le PID doit être l’ID de processus de l’application cible, et non celui du débogueur en mode utilisateur. (Étant donné que les ID de processus sont généralement répertoriés au format décimal, vous devrez peut-être le préfixer avec 0n ou le convertir en format hexadécimal.)
DLL
Kdexts.dll
Cette commande d’extension est prise en charge sur les ordinateurs cibles x86 et x64.
Notes
Cette commande est particulièrement utile lors de la redirection de l’entrée et de la sortie d’un débogueur en mode utilisateur vers le débogueur du noyau. Elle provoque l’arrêt de l’application cible en mode utilisateur dans le débogueur en mode utilisateur, qui demande à son tour l’entrée depuis le débogueur du noyau. Veuillez consulter la section Contrôler le débogueur en mode utilisateur depuis le débogueur noyau pour plus de détails.
Si cette commande est utilisée dans une autre situation, le processus en mode utilisateur appelle DbgBreakPoint. Cela se décompose généralement directement dans le débogueur du noyau.
L’option -s provoque un arrêt dans WinLogon juste avant l’arrêt du processus spécifié. Cela est utile si vous souhaitez effectuer des actions de débogage dans le contexte de processus de WinLogon. La commande g (Go) peut ensuite être utilisée pour passer au deuxième saut.
Notez qu’il existe plusieurs façons d’exécuter cette extension :
Manque de ressources. L’extension !bpid injecte un thread dans le processus cible, de sorte que le système doit avoir suffisamment de ressources pour créer un thread. L’utilisation de l’option -a nécessite encore plus de ressources système puisque !bpid -a doit exécuter une instance complète d’un débogueur sur l’ordinateur cible.
Le verrou du chargeur est déjà détenu. !bpid et !bpid -a ont tous deux besoin d’un thread pour s’exécuter dans le processus cible afin de le faire décomposer dans le débogueur. Si un autre thread détient le verrou du chargeur, le thread !bpid ne pourra pas s’exécuter et un saut dans le débogueur risque de ne pas se produire. Par conséquent, si !bpid échoue lorsqu’il y a suffisamment de mémoire en mode utilisateur disponible pour le processus cible, il est possible que le verrou du chargeur soit détenu.
Autorisation manquante L’opération de l’extension !bpid nécessite une autorisation suffisante pour que WinLogon crée un thread distant et attache un débogueur à un processus donné.
Aucun accès à ntsd.exe. Si ntsd.exe est introuvable dans un chemin couramment connu, !bpid ne parvient pas à définir un PID approprié. Notez que ntsd.exe n’est pas inclus par défaut avec Windows Vista.