Configuration de Qt Creator pour déboguer dans les classes Qt

je veux configurer Qt Creator (3.0) d'une manière que je puisse déboguer dans les classes Qt. Donc je télécharge le code src correspondant (http://gitorious.org/qt/qt5) et l'installer dans un répertoire (par exemple c:Qt5src).

Puis-je avoir mon propre projet. Où dois-je mettre le chemin du code source de Qt (c:Qt5src), donc je peux déboguer mon code, mais aussi dans une classe Qt si nécessaire.

-- Edit:Pavel commentaire --

Pavel a donné un bon indice: mais je suis utilisation d'une version précompilée de Qt/Qt Creator. Je suis donc à la recherche d'une solution qui ne me demande pas de compiler à partir des sources. Néanmoins un indice utile. Grâce.

16
demandé sur Horst Walter 2014-01-31 03:04:35

4 réponses

si vous utilisez une version pré-compilée, remapez simplement l'emplacement du code source tel que décrit dans http://doc.qt.io/qtcreator/creator-debugger-engines.html

Source De Mappage Des Chemins

pour permettre au débogueur d'entrer dans le code et d'afficher le code source en utilisant une copie de l'arborescence des sources à un endroit différent de celui où les bibliothèques ont été construites, mappez les chemins source vers les chemins cibles:

  • Sélectionner Outils > Options > Débogueur > Généralités > Ajouter.
  • dans le champ Chemin Source, spécifiez le chemin source dans les informations de débogage de l'exécutable tel que rapporté par le débogueur.
  • dans le champ de chemin cible, spécifiez l'emplacement réel de l'arborescence des sources sur la machine locale.

Pour obtenir de l' " le chemin source dans les informations de débogage de l'exécutable tel que rapporté par le débogueur", vous pouvez activer le "utilisez des Tooltps en mode pile lorsque Débogage" option par rigth-clic dans la vue de pile et déplacer la souris sur un appel de fonction spécifique.

14
répondu JLM 2018-03-10 15:36:34

si vous regardez dans les infobulles, vous verrez des références à /Users/qt/work, Les symboles de débogage déployés par Mac pointent là. Bien sûr, ce n'est pas documenté, car ces gens veulent que vous achetiez enterprise.

si vous créez le /Users/qt/work directory (en tant que root), puis faire un lien vers votre répertoire source nommé qt, tout fonctionnera. Pas besoin de construire quoi que ce soit à partir de la source (sous Mac qui entraînerait des dizaines de gigs gaspillés). Mêmes considérations sur plugins

Exemple:

sudo -s
mkdir /Users/qt
cd /Users/qt
mkdir work
cd work
ln -s /Users/your_user_name/Qt/your_qt_release/Src qt

tout va marcher. Toutes les sources ont échoué ici, alors laissez-les tranquilles. Espérons que cela aide

5
répondu 3 revs, 3 users 62%user962247 2017-09-19 07:12:57

Vous devez compiler votre propre Qt. C'est la seule façon d'obtenir cette fonctionnalité. Vous êtes libre d'utiliser n'importe quel IDE, même précompilé. Enregistrez simplement votre Qt auto-compilé comme un kit dans le créateur de Qt.

Qt précompilé ne fournit tout simplement pas de fichiers contenant des informations de débogage. Vous pouvez perdre un temps illimité à essayer de déboguer dans Qt précompilé. Ce n'est pas possible sur les plateformes Unix puisque les objets nécessaires contenant des informations de débogage ne sont pas expédiés. Il n'est pas non plus disponible sur Windows, pour la même raison - le .les fichiers pdb ne sont pas là pour les constructions MSVC, et les fichiers objet ne sont pas là pour les constructions mingw. C'est sérieux tout y est.

Lors de la construction d'un -debug-and-release version de Qt, vous devez conserver tous les arbres suivants (dossiers) dans le but de débogage:

  • source,
  • construire,
  • installer le préfixe.

Je ne sais pas vraiment à quoi sert le Qt de prebuilt. Aussi loin que Je m'inquiète, il ne devrait pas être offert: il confond juste le diable hors de tout le monde. Il n'est d'aucune utilité pour les utilisateurs finaux, et il est d'aucune utilité pour les développeurs - Je ne peux pas voir le débogage sérieusement sans accès aux sources Qt. Cela va à l'encontre du but de l'existence des sources, d'une certaine manière. Bien sûr, il devrait y avoir un créateur Qt avec les bibliothèques Qt dont il a besoin, mais cela ne devrait pas être exposé en dehors de cela.

4
répondu Kuba Ober 2014-02-01 22:12:59

avec Xcode, avant d'entrer dans la bibliothèque Qt la première fois, saisissez la commande suivante dans la fenêtre LLDB:

settings set target.source-map /Users/qt/work/qt /path/to/Qt/5.10.1/Src

(évidemment vous voudrez changer le numéro de version, le cas échéant).

mais supposons que Trolltech change son répertoire de compilation, Que faire alors? (Ou, comment le wiki communautaire qui a donné le /Users/qt/work/qt chemin le trouver?) Vous pouvez deviner ce que le chemin doit être en éditant /path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug (ou tout autre bibliothèque Qt) et la recherche de certains chemins. "/Utilisateur" semble comme une bonne estimation. Environ 2% dans la bibliothèque, vous commencerez à voir des sections avec beaucoup de chemins comme:

../../include/QtCore/../../src/corelib/kernel^@../../include/QtCore       
/../../src/corelib/tools^@global^@/Users/qt/work/qt/qtbase/src/corelib
/../../include/QtCore/../../src/corelib/arch^@/Applications/Xcode.app
/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/<etc>

cherchez un chemin absolu qui semble pouvoir être écrit. (/Applications/... ne serait pas susceptible build path, par exemple)

2
répondu prewett 2018-03-02 22:35:42