Débogage de code source dans WinDbg (classique)

Chemin de la source

Le chemin d’accès source spécifie les répertoires où se trouvent les fichiers sources C et C++. Pour plus d’informations sur l’affichage du code source dans le débogueur, consultez Chemin d’accès source.

Note Si vous êtes connecté à un réseau d’entreprise, le moyen le plus efficace d’accéder aux fichiers sources consiste à utiliser un serveur source. Vous pouvez utiliser un serveur source à l’aide de la chaîne srv* dans votre chemin d’accès source. Pour plus d’informations sur les serveurs sources, consultez Utilisation d’un serveur source.

Pour contrôler le chemin d’accès source dans WinDbg, effectuez l’une des opérations suivantes :

Ouverture et fermeture de fichiers sources

Pour ouvrir ou fermer un fichier source directement, effectuez l’une des opérations suivantes :

  • Choisissez Fichier open source dans le menu Fichier ou appuyez sur Ctrl+O. Vous pouvez également utiliser le bouton Fichier open source (Capture d’écran du bouton Fichier Open Source dans WinDbg.

    Note Lorsque vous utilisez le menu ou le bouton de la barre d’outils pour ouvrir un fichier source, le chemin de ce fichier est automatiquement ajouté au chemin source.

  • Choisissez Fermer la fenêtre active dans le menu Fichier .

  • Sélectionnez le bouton Fermer dans le coin de la fenêtre Source.

  • Choisissez Fichiers récents dans le menu Fichier pour ouvrir l’un des quatre fichiers sources que vous avez récemment ouverts dans WinDbg.

  • Entrez la commande .open (fichier Open Source).

  • Entrez la commande lsf (Charger ou décharger le fichier source).

Dans WinDbg, la fenêtre Source affiche les fichiers sources qui ont été chargés dans le débogueur.

Ouverture de la fenêtre source

Le débogueur ouvre une fenêtre source lorsqu’il charge un nouveau fichier source. Pour restaurer ou basculer vers une fenêtre source ouverte, accédez au menu Fenêtre et choisissez dans la liste des fenêtres en bas du menu.

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

Capture d’écran de la fenêtre Source dans WinDbg, affichant un fichier source chargé.

Chaque fichier source réside dans sa propre fenêtre Source. Le titre de chaque fenêtre Source est le chemin d’accès complet du fichier source.

Utilisation de la fenêtre Source

Chaque fenêtre Source affiche le texte d’un fichier source. Vous ne pouvez pas modifier un fichier source dans le débogueur. Pour plus d’informations sur la modification des paramètres de police et d’onglet, consultez Modification des propriétés du texte.

Chaque fenêtre Source dispose d’un menu contextuel avec des commandes supplémentaires. Pour accéder au menu, sélectionnez longuement (ou cliquez avec le bouton droit) sur la barre de titre ou sélectionnez l’icône qui s’affiche dans le coin supérieur droit de la fenêtre. La liste suivante décrit certaines des commandes de menu :

  • Définir le pointeur d’instruction sur la ligne actuelle change la valeur du pointeur d’instruction sur l’instruction qui correspond à la ligne active. Cette commande équivaut à l’utilisation de l’élément Modifier | Définissez la commande Instruction actuelle ou appuyez sur Ctrl+Maj+I.

  • Modifier ce fichier ouvre le fichier source dans un éditeur de texte. L’éditeur est déterminé par les informations du Registre de l’éditeur WinDiff ou par la valeur de la variable d’environnement WINDBG_INVOKE_EDITOR. Par exemple, considérez le cas où la valeur de WINDBG_INVOKE_EDITOR est la suivante.

    c:\my\path\myeditor.exe -file %f -line %l
    

    Dans ce cas, Myeditor.exe s’ouvre sur le numéro de ligne de base unique du fichier source actuel. L’option %l indique que les numéros de ligne doivent être lus en tant que base un, tandis que %f indique que le fichier source actuel doit être utilisé. D’autres possibilités de substitution incluent %L, qui indique que les numéros de ligne sont de base zéro, et %p, qui peut également indiquer que le fichier source actuel doit être utilisé.

  • Évaluer la sélection évalue le texte actuellement sélectionné à l’aide de l’évaluateur d’expression C++. Le résultat s’affiche dans la fenêtre Commande du débogueur. Si le texte sélectionné comprend plusieurs lignes, une erreur de syntaxe s’affiche. Cette commande équivaut à l’utilisation de l’élément Modifier | Commande Évaluer la sélection , appuyez sur Ctrl+Maj+V ou utilisez la commande ?? (Évaluer l’expression C++) commande avec le texte sélectionné comme argument.

  • Afficher le type sélectionné affiche le type de données de l’objet sélectionné. Cet affichage s’affiche dans la fenêtre Commande du débogueur. Si le texte sélectionné inclut plusieurs objets, une erreur de syntaxe ou d’autres résultats irréguliers peuvent être affichés. Cette commande équivaut à l’utilisation de l’élément Modifier | Affichez la commande Type sélectionné ou appuyez sur Ctrl+Maj+Y.

  • Ouvrir la fenêtre mémoire pour la sélection ouvre une nouvelle fenêtre Mémoire ancrée qui affiche la mémoire à partir de l’adresse de l’expression sélectionnée.

  • Ajouter une sélection à la fenêtre Espion ajoute le jeton source sélectionné à la fenêtre Espion.

  • Le désassemblement à la ligne active entraîne l’affichage de l’instruction qui correspond à la ligne active dans la fenêtre Désassemblement. La ligne sélectionnée est mise en surbrillance dans la fenêtre Source et dans la fenêtre Désassemblement, mais cette commande affecte uniquement l’affichage. Le pointeur d’instruction n’est pas modifié. Si la fenêtre Désassemblement est fermée lorsque cette commande est sélectionnée, elle est ouverte.

  • Sélectionner le langage source affiche une liste de langages de programmation. Sélectionnez le langage de programmation que vous avez utilisé pour générer le fichier source, puis sélectionnez OK pour activer la mise en surbrillance de la syntaxe de base pour la fenêtre Source actuelle. Sélectionnez <Aucun> pour désactiver la mise en surbrillance de syntaxe pour la fenêtre Source actuelle.

Couleurs de la fenêtre source et évaluation du pointage

Si le débogueur reconnaît l’extension de nom de fichier source, la fenêtre Source affiche certains éléments de syntaxe en couleur. Pour désactiver ou modifier les couleurs, procédez comme suit :

  • Pour désactiver les couleurs de syntaxe dans une seule fenêtre, ouvrez le menu contextuel de la fenêtre Source, sélectionnez Sélectionner la langue source, puis aucun<>.

  • Pour désactiver les couleurs de syntaxe pour toutes les fenêtres Source, choisissez Options dans le menu Affichage . Désactivez ensuite la zone Analyser les langues sources case activée.

  • Pour modifier les couleurs de syntaxe, choisissez Options dans le menu Affichage . Ensuite, dans la zone Couleurs , sélectionnez un élément de syntaxe et sélectionnez le bouton Modifier pour modifier la couleur.

  • La méthode d’analyse utilisée pour la mise en surbrillance est déterminée par le langage de programmation associé à l’extension de fichier pour le fichier source. Pour modifier le langage de programmation associé à une extension de fichier spécifique, utilisez la boîte de dialogue Extensions de fichier pour les langages sources. Pour ouvrir cette boîte de dialogue, choisissez Extensions de fichier de langue source dans le menu Affichage .

La ligne qui représente le compteur de programme actuel est mise en surbrillance. Les lignes auxquelles les points d’arrêt sont définis sont également mises en surbrillance.

Si vous sélectionnez une fenêtre Source, puis utilisez la souris pour pointer sur un symbole dans cette fenêtre, le symbole est évalué. L’évaluation est la même que celle produite par la commande dt (Type d’affichage). Pour désactiver cette évaluation, choisissez Options dans le menu Affichage . Désactivez ensuite la zone Évaluer lors du pointage case activée.

Voir aussi

Pour plus d’informations sur le débogage source et les commandes associées, consultez Débogage en mode source.