Affichage et modification des registres dans WinDbg (classique)
Les registres sont de petites unités de mémoire volatiles situées sur le processeur. De nombreux registres sont dédiés à des utilisations spécifiques, et d’autres sont disponibles pour les applications en mode utilisateur. Les processeurs x86 et x64 ont différentes collections de registres disponibles. Pour plus d’informations sur les registres sur chaque processeur, consultez Architecture du processeur.
Dans WinDbg, vous pouvez afficher et modifier des registres en entrant des commandes, en utilisant la fenêtre Registres ou à l’aide de la fenêtre Espion.
Commandes
Vous pouvez afficher et modifier des registres en entrant la commande r (Registres) dans la fenêtre Commande du débogueur. Vous pouvez personnaliser l’affichage à l’aide de plusieurs options ou de la commande rm (Inscrire le masque).
Les registres sont également affichés automatiquement chaque fois que la cible s’arrête. Si vous parcourez votre code à l’aide des commandes p (Étape) ou t (Trace), vous voyez un affichage du registre à chaque étape. Pour arrêter cet affichage, utilisez l’option r lorsque vous utilisez ces commandes.
Sur un processeur x86, l’option r contrôle également plusieurs registres un bits appelés indicateurs. Pour modifier ces indicateurs, vous utilisez une syntaxe légèrement différente de celle de la modification des registres standard. Pour plus d’informations sur ces indicateurs et une explication de cette syntaxe, consultez Indicateurs x86.
Fenêtre Registres
Ouverture de la fenêtre Registres
Pour ouvrir ou basculer vers la fenêtre Registres, choisissez Registres dans le menu Affichage . (Vous pouvez également appuyer sur Alt+4 ou sélectionner le bouton Inscriptions dans la barre d’outils. Alt+Maj+4 ferme la fenêtre Registres.)
La capture d’écran suivante montre un exemple de fenêtre Registres.
La fenêtre Registres contient deux colonnes. La colonne Reg répertorie tous les registres du processeur cible. La colonne Valeur affiche la valeur actuelle de chaque registre. Cette fenêtre contient également un bouton Personnaliser dans la barre d’outils qui ouvre la boîte de dialogue Personnaliser la liste des registres .
Utilisation de la fenêtre Registres
Dans la fenêtre Registres, vous pouvez effectuer les opérations suivantes :
La colonne Valeur affiche la valeur actuelle de chaque registre. La valeur du registre le plus récemment modifié s’affiche en texte rouge.
- Pour entrer une nouvelle valeur, double-cliquez sur une cellule Value , puis tapez une nouvelle valeur ou modifiez l’ancienne valeur. (Les commandes couper, copier et coller peuvent être utilisées pour la modification.)
- Pour enregistrer la nouvelle valeur, appuyez sur ENTRÉE.
- Pour ignorer la nouvelle valeur, appuyez sur Échap.
- Si vous tapez une valeur non valide, l’ancienne valeur réapparaît lorsque vous appuyez sur ENTRÉE.
Les valeurs d’enregistrement sont affichées dans le radix actuel, et vous devez taper de nouvelles valeurs dans le même radix. Pour modifier le radix actuel, utilisez la commande n (Définir la base du nombre) dans la fenêtre Commande du débogueur.
En mode utilisateur, la fenêtre Registres affiche les registres associés au thread actuel. Pour plus d’informations sur le thread actuel, consultez Contrôle des processus et des threads.
En mode noyau, la fenêtre Registres affiche les registres associés au contexte de registre actuel. Vous pouvez définir le contexte de registre pour qu’il corresponde à un thread, un enregistrement de contexte ou une trame d’interruption spécifique. Seuls les registres les plus importants pour le contexte de registre spécifié sont réellement affichés ; vous ne pouvez pas modifier leurs valeurs.
La fenêtre Registres comporte une barre d’outils qui contient un bouton Personnaliser et un menu contextuel avec des commandes supplémentaires. Pour accéder au menu, sélectionnez la barre de titre et maintenez-la enfoncée (cliquez avec le bouton droit) ou sélectionnez l’icône dans le coin supérieur droit de la fenêtre (
(Barre d’outils et menu) Personnaliser ouvre la boîte de dialogue Personnaliser la liste des registres , qui est décrite dans la section suivante de cette rubrique.
(Menu uniquement) Barre d’outils active et désactive la barre d’outils.
(Menu uniquement) Ancrer ou Undock entraîne l’entrée ou la sortie de la fenêtre dans l’état d’ancrage.
(Menu uniquement) Passer à la nouvelle station d’accueil ferme la fenêtre Registres et l’ouvre dans une nouvelle station d’accueil.
(Menu uniquement) Le paramètre Défini comme cible tab-dock pour le type de fenêtre n’est pas disponible pour la fenêtre Registres. Cette option est disponible uniquement pour les fenêtres Source ou Mémoire.
(Menu uniquement) Toujours flottante fait que la fenêtre reste déséquilibrée même si elle est déplacée vers un emplacement d’ancrage.
(Menu uniquement) Le déplacement avec le cadre entraîne le déplacement de la fenêtre lorsque le cadre WinDbg est déplacé, même si la fenêtre est désacfinée.
(Menu uniquement) L’aide ouvre cette rubrique dans la documentation Outils de débogage pour Windows.
(Menu uniquement) Fermer ferme cette fenêtre.
Boîte de dialogue Personnaliser la liste d’inscriptions
Pour modifier la liste des registres affichés, sélectionnez le bouton Personnaliser . La boîte de dialogue Personnaliser la liste des registres s’affiche.
Dans cette boîte de dialogue, vous pouvez modifier la liste des registres pour modifier l’ordre dans lequel les registres sont affichés. (Vous ne pouvez pas supprimer un registre de la liste ; si vous le faites, il réapparaît à la fin.) Il doit y avoir un espace entre les noms de registre.
Si vous sélectionnez la zone Afficher les valeurs de registre modifiées d’abord case activée, le registre dont les valeurs ont été modifiées les plus récemment apparaît en haut.
Si vous sélectionnez la zone Ne pas afficher les sous-inscriptions case activée, les sous-inscriptions ne sont pas affichées. Par exemple, eax s’affiche, mais pas ax, ah ou al.
Sélectionnez OK pour enregistrer vos modifications ou Annuler pour ignorer vos modifications.
Si vous déboguez un ordinateur multiprocesseur avec plusieurs types de processeurs, WinDbg stocke les paramètres de personnalisation pour chaque type de processeur séparément. Cette séparation vous permet de personnaliser simultanément l’affichage des registres de chaque processeur.
Fenêtre Espion
Dans WinDbg, vous pouvez utiliser la fenêtre Espion pour afficher les registres. Vous ne pouvez pas utiliser la fenêtre Espion pour modifier les valeurs des registres.
Pour ouvrir la fenêtre Espion, choisissez Espion dans le menu Affichage . Vous pouvez également appuyer sur ALT+2 ou sélectionner le bouton Espion dans la barre d’outils :
La capture d’écran suivante montre un exemple de fenêtre Espion.
Voir aussi
Pour plus d’informations sur le contexte d’inscription et d’autres paramètres de contexte, consultez Modification des contextes.