Présentation du débogage

De RAD Studio
Aller à : navigation, rechercher

Remonter à Débogage des applications - Index


RAD Studio inclut des débogueurs intégrés pour chaque plate-forme cible prise en charge. L'EDI utilise automatiquement le débogueur approprié au type du projet actif. Le débogage est pris en charge pour les applications multi-périphériques dans un projet et, quand c'est possible, les débogueurs partagent une interface utilisateur commune.

Les débogueurs intégrés vous permettent de trouver et de corriger les erreurs d'exécution et de logique dans votre application RAD Studio. En utilisant les débogueurs, vous pouvez parcourir le code pas à pas, définir des points d'arrêt et de suivi et inspecter ou modifier les valeurs du programme. Quand vous déboguez votre application, les fenêtres de débogage sont disponibles pour vous aider à gérer la session de débogage et fournissent des informations sur l'état de votre application.

L'inspecteur de débogage vous permet d'examiner divers types de données, tels que les tableaux, classes, constantes, fonctions, pointeurs, variables scalaires et interfaces. Pour utiliser l'inspecteur de débogage, sélectionnez Exécuter > Inspecter.

Cette démo en vidéo du débogueur est une présentation utile.

Pas à pas du code

Le parcours pas à pas du code vous permet d'exécuter votre programme une ligne de code à la fois. A chaque pas, vous pouvez examiner l'état du programme, voir les sorties du programme, modifier les valeurs des données du programme et continuer l'exécution de la ligne de code suivante. La ligne de code suivante ne s'exécute pas tant que vous ne demandez pas au débogueur de continuer.

Le menu Exécuter propose les commandes Pas à pas approfondi et Pas à pas. Les deux commandes indiquent au débogueur d'exécuter la ligne de code suivante. Néanmoins, si la ligne contient un appel de fonction, Pas à pas approfondi exécute la fonction et s'arrête à la première ligne de code au sein de la fonction. Pas à pas exécute la fonction puis s'arrête à la première ligne après la fonction.

Evaluer/Modifier

La fonctionnalité Evaluer/Modifier permet d'évaluer une expression. Vous pouvez aussi modifier la valeur d'une variable et l'insérer dans la variable. La fonctionnalité Evaluer/Modifier est adaptée au langage que vous utilisez :

  • Pour un projet C++, la boîte de dialogue Evaluer/Modifier n'accepte que les expressions C++.
  • Pour un projet Delphi, la boîte de dialogue Evaluer/Modifier n'accepte que les expressions Delphi.

Points d'arrêt

Les points d'arrêt suspendent l'exécution du programme à un point précis du programme ou quand une condition particulière survient. Vous pouvez alors utiliser le débogueur pour voir l'état de votre programme ou exécuter votre code une ligne ou une instruction machine à la fois. Le débogueur supporte quatre types de points d'arrêt :

  • Points d'arrêt source : suspendent l'exécution à un emplacement spécifié dans votre code source.
  • Points d'arrêt adresse : suspendent l'exécution à une adresse mémoire spécifiée.
  • Points d'arrêt données : suspendent l'exécution lorsque la mémoire change à une adresse particulière. Les points d'arrêt données sont automatiquement désactivés quand une session de débogage se termine, car l'adresse d'une variable peut changer d'une session de débogage à la suivante. Pour réutiliser un point d'arrêt données pendant une session de débogage suivante, vous devez réactiver le point d'arrêt données après le démarrage de votre session de débogage.
  • Points d'arrêt chargement de module : suspendent l'exécution lors du chargement du module spécifié.

Pour de plus amples informations sur la création, la modification et la persistance des points d'arrêt, voir Définition et modification de points d'arrêt.

Points de suivi

Les points de suivi vous permettent de suivre les valeurs des variables ou des expressions du programme, quand vous exécutez le code en pas à pas, ou en pas à pas approfondi. Lors d'une exécution pas à pas, la valeur de l'expression point de suivi change si votre programme met à jour l'une des variables contenues dans l'expression de suivi.

Vous pouvez contrôler les éléments de suivi dans la Fenêtre Liste des points de suivi.

Fenêtres de débogage

Les fenêtres de débogage suivantes sont disponibles pour vous aider à déboguer votre programme. Par défaut, la plupart des fenêtres sont affichées automatiquement quand vous démarrez une session de débogage. Vous pouvez aussi afficher individuellement les fenêtres en sélectionnant Voir > Fenêtres de débogage.

Chaque fenêtre propose un ou plusieurs menus contextuels. La touche d'aide F1 de chaque fenêtre fournit des informations détaillées sur la fenêtre et les menus contextuels.

Fenêtre de débogage Description

Liste des points d'arrêt

Affiche tous les points d'arrêt définis dans la fenêtre Editeur de code ou CPU.

Pile d'appels

Affiche la séquence d'appels de fonctions en cours.

Liste des points de suivi

Affiche la valeur en cours de l'expression de suivi, en fonction de la portée du point d'exécution.

Variables locales

Affiche les variables locales de la fonction en cours, et vous permet de contrôler la façon dont votre programme met à jour les valeurs des variables lors de son exécution.

Modules

Affiche les processus sous contrôle du débogueur et les modules actuellement chargés par chaque processus. Elle propose aussi une vue hiérarchique des espaces de nommage, des classes et des méthodes utilisés dans l'application.

Etat des threads

Affiche le statut de tous les processus et threads d'exécution qui s'exécutent dans chaque application en cours de débogage. Ceci est utile lors du débogage des applications multithreads. Pour Windows Vista, la vue Etat des threads inclut une colonne Chaîne d'attente qui liste les blocages et les verrous mortels des threads.

Journal d'événements

Affiche des messages relatifs au contrôle de processus, aux points d'arrêt, aux sorties, aux threads et aux modules.

Fenêtres CPU - Index

Affiche l'état de bas niveau de votre programme, notamment les instructions assembleur pour chaque ligne de code source et le contenu de certains registres..

FPU

Affiche le contenu de l'unité virgule flottante et des registres SSE de la CPU.

Définir le bureau de débogage

Le bureau de débogage est la disposition que l'EDI utilise lors de l'exécution de votre application en mode débogage (F9 dans le mappage de touches par défaut). Il existe un bureau de débogage par défaut, mais vous pouvez sélectionner l'un des bureaux enregistrés afin qu'il devienne le bureau de débogage.

Pour définir le bureau de débogage :

  1. Choisissez l'une des actions suivantes :
  2. Dans la boîte de dialogue Définir le bureau de débogage, cliquez sur la flèche vers le bas et sélectionnez la disposition du bureau de débogage.
  3. Cliquez sur OK.

Débogage distant

Le débogage distant vous permet de déboguer une application s'exécutant sur un ordinateur distant. Votre ordinateur doit être connecté à l'ordinateur distant via TCP/IP.

Deux solutions de débogage distant sont désormais disponibles :

  • La nouvelle solution de débogage distant est aussi utilisée pour le débogage multi-périphérique.
  • La solution de débogage d'ancien style à condition qu'un débogueur distant soit installé sur la machine distante. Après avoir créé et copié sur l'ordinateur distant les fichiers d'application requis, vous pouvez vous connecter à l'ordinateur distant et commencer le débogage.
Remarque: La solution de débogage d'ancien style ne s'applique pas aux applications multi-périphériques.

Débogage multi-périphérique

Le débogage multi-périphérique implique l'utilisation d'une plate-forme cible qui n'est pas la plate-forme Windows 32 bits native. Votre interaction avec le débogueur est virtuellement la même dans le débogage multi-périphériques que dans le débogage Windows.

  • Pour les applications Android, vous n'utilisez pas Platform Assistant ou un profil de connexion, mais vous devez télécharger le pilote USB relatif à votre périphérique Android, activer le débogage USB et ajouter un SDK Android à RAD Studio.

Pour plus de détails, voir Débogage des applications multi-périphériques.

Voir aussi