Exécuter et déboguer

Configurations

Pour chaque cible de votre projet (pour les projets CMake, Makefile et Gradle), CLion crée une configuration qui peut être générée et exécutée, et vous permet de configurer des outils externes pour qu'ils s'exécutent avant/après la phase de build dans une boîte de dialogue séparée de l'interface utilisateur.

Configurations

Modèles de configuration

Utilisez des modèles afin de créer des configurations pour les tests unitaires, le débogage à distance ou l'exécution régulière d'applications.

Exécuter la configuration

Vous pouvez modifier l'exécutable de la configuration de votre choix, ou même rendre une configuration non exécutable en paramétrant cette valeur comme Not selected.

Générez votre projet en appuyant sur Ctrl+F9 et exécutez la configuration actuellement sélectionnée avec Maj+F10.

Configuration du débogage

Pour le débogage, appuyez sur Maj+F9.

Pour vous aider à inspecter l'état de votre code pendant le débogage, CLion vous propose de nombreux raccourcis utiles, comme Step over/into (F8/F7), Step out (Maj+F8) ou Run to cursor (Alt+F9).

Build et exécution personnalisées

custom_target

Créez des cibles de build indépendantes du système pour ajouter des cibles personnalisées et configurer les outils destinés à la création de build ou au nettoyage de la cible.

Pour exécuter et déboguer des cibles personnalisées depuis CLion, créez une configuration Run/Debug correspondante au moyen du modèle Custom Build Application.

Recompilation d'un fichier unique

Pour accélérer vos cycles de développement dans CLion quand vous travaillez avec des projets CMake ou de compilation de bases de données, utilisez Recompile (Maj+Ctrl+F9). Cette commande relance la compilation d'un fichier sélectionné, sans déclencher la recompilation de l'ensemble du projet.

Déboguer ou lancer les types de build

Lorsque CMake est utilisé, basculez entre les profils CMake (et les types de build) dans le sélecteur de configuration d'exécution de la barre d'outils ou dans la fenêtre contextuelle du sélecteur de configuration Run (Maj+Alt+F10) ou Debug (Maj+Alt+F9).

Entrée/Sortie

CLion utilise PTY comme unité d'E/S, ce qui signifie que vous pouvez vous attendre à un comportement similaire à l'exécution de votre projet dans un terminal, même sous Windows.

Débogage

CLion s'intègre avec le backend GDB sur toutes les plateformes et LLDB sur macOS et Linux.

Joindre au processus

Joindre au processus

CLion vous permet de déboguer des processus, exécutés sur la même machine ou sur une machine distante, mais qui ne sont pas démarrés à partir de l'IDE, en vous joignant à eux grâce à leur pid ou leur nom de processus. Profitez de l'interface utilisateur du débogueur intégré de CLion.

Points de rupture

CLion inclut un débogueur intégré pour vous aider à inspecter l'exécution de votre code. Vous pouvez choisir parmi plusieurs types de points d'arrêt dans CLion (tous les points d'arrêt peuvent être examinés dans une fenêtre séparée (disponible via Ctrl+Maj+F8)) :

Points de rupture
  • Les Line breakpoints sont le moyen le plus simple de déboguer votre code. Définissez simplement un point de rupture avec la souris en cliquant dans la gouttière gauche d'une ligne.
  • Les Symbolic breakpoints vous aident à arrêter l'exécution du programme lorsqu'une fonction spécifique commence à s'exécuter. Trouvez un symbole grâce à son nom, en profitant de la saisie automatique du code, pour aller à la fonction appropriée.
  • Les Exception breakpoints permettent de détecter n'importe quelle exception lancée en toute simplicité.
Définir le point d'exécution

Définir le point d'exécution

La nouvelle action Set Execution Point to Cursor vous permet d'avancer et de revenir en arrière dans l'exécution de votre programme pendant le débogage, d'interrompre des boucles ou de les redémarrer, de sélectionner une autre branche dans une clause if-else ou une instruction switch-case, et même d'ignorer complètement des boucles. Il suffit de glisser-déposer une flèche dans la gouttière de la ligne concernée.

Surveillances et évaluations

La description de toutes les variables disponibles, y compris le contenu des conteneurs STL, sera placée dans l'onglet Variables de la fenêtre d'outils Debug. Vous pouvez y trouver et modifier n'importe quelle valeur sans interrompre la session de débogage en cours :

Évaluer l'expression

L'onglet GDB/LLDB permet d'accéder à la console GDB/LLDB, tandis que les vues Frame et Watches permettent d'examiner plus en détail tout problème. En prime, lorsque vous sélectionnez un symbole à surveiller, vous pouvez bénéficier de la saisie automatique.

De plus, vous pouvez évaluer n'importe quelle expression pendant une session de débogage, simplement en appuyant sur Alt+F8.

Vue variable inline

Vue variable inline

Cette fonctionnalité vous permet de visualiser les valeurs actuelles des variables directement dans l'éditeur (à côté de la déclaration de la variable). Pas besoin de passer par l'onglet Variables dans la fenêtre d'outils Debug !

Disasm

Vue Disassembly

Lisez le code assembleur, qui est correctement mis en évidence dans l’éditeur, et parcourez-le pas à pas pour étudier le problème.

Lorsque vous parcourez du code assembleur, vous pouvez désormais ajouter ou supprimer des points d'arrêt sur les lignes d'instruction. Pour utiliser une configuration autre que la configuration par défaut pour ces points d'arrêt adresse, allez dans le menu contextuel.

Prise en charge pour GDB et LLDB.

Vue Memory

Vue Memory

La vue Memory vide le contenu de la mémoire derrière le pointeur en mode Debug. Pour l'appeler, sélectionnez une variable de pointeur dans la vue des variables du débogueur et appuyez sur Ctrl+Entrée.

Pendant l'exécution, si la vue Memory est ouverte, CLion met en évidence les modifications apportées à la mémoire dans le segment de mémoire sélectionné.

Accédez à une adresse spécifique dans la mémoire depuis la Vue Memory. Utilisez la valeur hex représentant une adresse, une variable de pointeur, ou appelez l'adresse (&) de toute variable vous intéressant.

La saisie automatique du code permet d'obtenir de l'aide avec les symboles connus.

Déboguer avec les privilèges root

Déboguer avec les privilèges root

CLion peut exécuter et déboguer votre application avec les privilèges root : il vous suffit de sélectionner cette option dans la configuration Run/Debug correspondante. Cela fonctionne pour les applications CMake, Makefile, Gradle Native, Custom Build et CTest.

Débogage avec des core dumps

Débogage avec des core dumps

Une action Run | Open Core Dump… vous permet d'ouvrir le core dump existant d'un processus bloqué dans CLion et de le déboguer à cet endroit. Les utilisateurs peuvent inspecter la vue des frames et des variables, vérifier la vue de la mémoire et du désassemblage, évaluer les expressions et exécuter les commandes du débogueur depuis la console du débogueur.

Vue Parallel Stacks

Vue Parallel Stacks

Lors du débogage d'applications multithread, vous devez suivre plusieurs threads en même temps. La vue Parallel Stacks est implémentée sous la forme d'un onglet distinct dans la fenêtre d'outil Debug. Elle affiche les informations de la pile d'appels pour l'ensemble des threads. Elle permet de vérifier les chemins d'appel et les points d'exécution de tous les threads en cours d'exécution.

Serveurs de symboles sous Windows

Lors du débogage, il arrive que les symboles de la bibliothèque ne soient pas disponibles sur votre machine locale. Dans ce cas, vous pouvez utiliser un serveur de symboles, un serveur de fichiers qui centralise vos symboles de débogage sur un serveur plutôt que sur la machine de chaque développeur. Dans CLion sous Windows, vous pouvez désormais configurer des serveurs de symboles pour le débogueur dans Settings | Build, Execution, Deployment | Debugger | Symbol Servers.

En savoir plus.