Partager via


Débogage du code source dans WinDbg (classique)

Chemin 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 barre d’outils pour ouvrir un fichier source, le chemin d’accès de ce fichier est automatiquement ajouté au chemin d’accès source.

  • Choisissez Fermer la fenêtre actuelle 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 open Source, 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 de texte.

Chaque fenêtre source a 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 :

  • Définir le pointeur d’instruction sur la ligne actuelle modifie la valeur du pointeur d’instruction vers l’instruction qui correspond à la ligne actuelle. Cette commande équivaut à utiliser la commande Edit | Définissez la commande d’instruction actuelle ou appuyez sur Ctrl+Maj+I.

  • Modifiez ce fichier pour ouvrir 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 lorsque 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 un du fichier source actuel. L’option %l indique que les numéros de ligne doivent être lus comme commençant à un, alors 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, ce 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 se produit. Cette commande équivaut à utiliser la commande Edit | Évaluer Sélection, à appuyer sur Ctrl+Maj+V, ou à utiliser la commande ?? (Évaluer l’expression C++) 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 plus d’un seul objet, une erreur de syntaxe ou d’autres résultats irréguliers peuvent être affichés. Cette commande équivaut à utiliser la commande Edit | 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 en commençant à l’adresse de l’expression sélectionnée.

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

  • Le désassemblage à la ligne actuelle provoque l'affichage de l'instruction correspondant à la ligne actuelle dans la fenêtre Désassemblage. 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électionnez le langage source pour afficher la liste des 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 syntaxe de base pour la fenêtre Source actuelle. Sélectionnez <Aucun> pour désactiver la mise en surbrillance de la 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 sélectionnez <Aucun>.

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

  • 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 les 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écochez ensuite la case à cocher Évaluer au survol.

Voir aussi

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