Partager via


Débogage du code d’assemblage dans WinDbg (classique)

Dans WinDbg, vous pouvez afficher le code d’assembly en entrant des commandes ou à l’aide de la fenêtre Désassembleur.

Fenêtre de commandes du débogueur

Vous pouvez afficher le code d’assembly en entrant l’une des commandes u, ub, uu (Unassemble) dans la fenêtre Commande du débogueur.

Fenêtre de désassemblage

Pour ouvrir ou basculer vers la fenêtre Désassembler, choisissez Dissasembly dans le menu Affichage . (Vous pouvez également appuyer sur Alt+7 ou sélectionner le bouton Désassembler dans la barre d’outils. Alt+Maj+7 ferme la fenêtre Désassemblement.)

La capture d’écran suivante montre un exemple de fenêtre de désassemblage.

Capture d’écran de la fenêtre Désassemblement dans WinDbg.

Le débogueur prend une section de mémoire, l’interprète en tant qu’instructions de machine binaire, puis le désassemble pour produire une version du langage assembly des instructions de l’ordinateur. Le code résultant s’affiche dans la fenêtre Désassembler.

Dans la fenêtre Désassembler, vous pouvez effectuer les opérations suivantes :

  • Pour désassembler une autre section de mémoire, dans la zone Offset , tapez l’adresse de la mémoire que vous souhaitez désassembler. (Vous pouvez appuyer sur Entrée après avoir tapé l’adresse, mais vous n’avez pas besoin de le faire.) La fenêtre Désassemble affiche le code avant d’avoir terminé l’adresse ; vous pouvez ignorer ce code.

  • Pour afficher d’autres sections de mémoire, sélectionnez les boutons Précédent ou Suivant , ou appuyez sur les touches PAGE UP ou PAGE DOWN. Ces commandes affichent respectivement le code désassemblé des sections précédentes ou suivantes de la mémoire. En appuyant sur flèche droite, flèche gauche, flèche haut et flèche bas, vous pouvez naviguer dans la fenêtre. Si vous utilisez ces touches pour quitter la page, une nouvelle page s’affiche.

La fenêtre Désassemble a une barre d’outils qui contient deux boutons et un menu contextuel avec des commandes supplémentaires. Pour accéder au menu, sélectionnez et maintenez la barre de titre enfoncée (ou cliquez avec le bouton droit) ou sélectionnez l’icône qui s’affiche en haut à droite de la fenêtre. La liste suivante décrit certaines des commandes de menu.

  • Accédez à l’adresse actuelle pour ouvrir la fenêtre Source avec le fichier source qui correspond à la ligne sélectionnée dans la fenêtre Désassemblement et met en surbrillance cette ligne.

  • Désassembler avant l’instruction actuelle entraîne la mise de la ligne actuelle au milieu de la fenêtre Désassemblement. Cette commande est l’option par défaut. Si cette commande est désactivée, la ligne actuelle apparaît en haut de la fenêtre Désassemblement, ce qui permet de gagner du temps, car le désassemblement inverse peut prendre du temps.

  • Mettre en surbrillance les instructions de la ligne source actuelle entraîne la mise en surbrillance de toutes les instructions qui correspondent à la ligne source actuelle. Souvent, une seule ligne source correspond à plusieurs instructions d’assembly. Si le code a été optimisé, ces instructions d’assembly peuvent ne pas être consécutives. Cette commande vous permet de trouver toutes les instructions qui ont été assemblées à partir de la ligne source actuelle.

  • Afficher la ligne source pour chaque instruction affiche le numéro de ligne source qui correspond à chaque instruction d’assembly.

  • Afficher le fichier source pour chaque instruction affiche le nom du fichier source qui correspond à chaque instruction d’assembly.

Voir aussi

Pour plus d’informations sur le débogage d’assembly et les commandes associées et une explication complète de l’affichage de l’assembly, consultez Débogage en mode Assembly.