web-dev-qa-db-fra.com

Exécution du mode débogage dans Qt Creator

J'essaie de compiler du code de démonstration (en particulier la démonstration pcl_visualizer fournie avec la bibliothèque Point Cloud). Lorsque j'exécute le débogage en cliquant sur la flèche verte avec la classe d'agrandissement, j'obtiens les erreurs suivantes:

This does not seem to be a "Debug" build.
Setting breakpoints by file name and line number may fail.

Section .debug_info: Not found.
Section .debug_abbrev: Not found.
Section .debug_line: Not found.
Section .debug_str: Not found.
Section .debug_loc: Not found.
Section .debug_range: Not found.
Section .gdb_index: Not found.
Section .note.gnu.build-id: Found.
Section .gnu.hash: Found.
Section .gnu_debuglink: Not found.

En outre, aucun des points d'arrêt que j'ai insérés ne rompt le programme et tous ont de petits sabliers au dessus.

Dans Projects, le mode Debug est sélectionné dans Build Settings.

Pourquoi mon code ne semble pas être en train de déboguer correctement?

17
Karnivaurus

Certains projets construisent automatiquement le mode débogage et permettent de l'exécuter individuellement. Vous pouvez ensuite le sélectionner dans le menu de sélection Run en bas à gauche.

 Animation of the Run menu and the Projects view

D'autres projets nécessitent que vous fassiez spécifiquement une construction de débogage.

Par exemple: Kdenlive nécessite que vous réexécutiez CMake avec le paramètre suivant ajouté:

-DCMAKE_BUILD_TYPE=Debug

Vous pouvez réexécuter CMake dans la vue Projects.

24
qubodup

Une autre cause du message "ne semble pas être une version de débogage" est l'exécution de gdb à l'aide du moteur cdb. pour vérifier, allez à outils-> options-> construire et exécuter-> kits et sélectionnez le kit que vous utilisez. Ensuite, allez à la ligne du débogueur, choisissez Édition et assurez-vous que vous avez le bon moteur pour votre débogueur. 

2
ray pixar

Sous Linux, utiliser l'outil de maintenance Qt pour installer les fichiers d'informations de débogage Qt a résolu ce problème pour moi.

1
myk

Pour les versions plus récentes de QT: Allez à "Projets" en haut à gauche de l'écran, une icône avec une clé qui devient verte lorsque vous la sélectionnez.

Si vous n'avez pas déjà "cliqué", cliquez sur "Construire" sous le kit nommé (j'ai "desktop" comme kit). Cela devrait être immédiatement en dessous de "Build & Run" sur le côté gauche.

Sous Paramètres de construction en haut au centre, vous devriez avoir "Modifier la configuration de construction" avec un menu déroulant à côté. Si vous pouvez sélectionner "Déboguer" dans le menu déroulant, faites-le, sinon cliquez sur "Ajouter" dans le menu déroulant à côté et sélectionnez "Débogage". 

Descendez et voyez "Key" sur le côté gauche d'un tableau de "Key" avec "Value", regardez plus à droite et regardez "Advanced" avec un carré, cochez le carré pour obtenir les paires avancées Key-Value.

Recherchez "CMAKE_BUILD_TYPE" et cliquez sur "Modifier" tout à droite, modifiez le menu déroulant de la valeur correspondant à la clé CMAKE_BUILD_TYPE en "débogage".

Maintenant en bas à gauche, changez la configuration de la construction en "debug" et construisez ... devrait fonctionner!

Vous devrez peut-être nettoyer le projet et éventuellement effacer la configuration de cmake sous l’onglet Build.

0
Jaguardo

Pour les utilisateurs de nasm avec QT5.9.1 et nasm 2.14, le problème aura disparu en utilisant: Nasm -felf64 -FDwarf -g

Je sais que ce n'est pas lié au c/c ++ mais fonctionne très bien dans QT

0
Agguro

J'ai le même message parce que le type de construction était défini pour publication. Sur Qt Creator 3.3.0 en bas à gauche, en haut du symbole de lecture, j'ai une icône de pc avec le type de construction. cliquez sur cette icône et sélectionnez le débogage. J'avais aussi besoin de 'lancer qmake' à partir du menu de construction.

0
AndrewBloom