2011-08-04 8 views
3

Je souhaite déployer un gestionnaire de blocage avec mon application Qt que j'ai créée avec Qt creator. Après quelques recherches, il semblerait que Breakpd de Google fera exactement ce que j'ai besoin de faire, mais les tutoriels sur ce sujet sont assez légers. En conséquence, j'ai un certain nombre de questions auxquelles j'espère pouvoir obtenir une réponse. Comment créer une version Release with Debug info dans Qt creator? J'ai suivi l'exemple here et suis capable de créer un fichier .dmp sur Windows. Créateur Qt avec Breakpad

  • Comment puis-je utiliser Breakpad pour me transmettre automatiquement ce fichier dmp?
  • Comment puis-je lire ce fichier en utilisant Breakpad? Actuellement, je déploie mon application sous Windows. Je peux donc ouvrir le fichier .dmp dans Visual Studios 2008 et ne voir les informations de débogage que si je compile l'application en mode débogage (donc je reçois le fichier .dmp). fichiers .pdb). Cependant, je veux finalement que cela fonctionne sur plusieurs plates-formes, donc je me demandais quels outils Breakpad fournit pour créer une trace de pile en dehors de Visual Studios? Les tutoriels sur Breakpad semblent assez légers, donc s'il y a un bon tutoriel qui aiderait aussi bien que j'aimerais le lire.

    Merci

    OK, je pense avoir trouvé la réponse à 1. Si vous ajoutez les lignes suivantes à votre fichier .pro (juste pour la libération) vous établirez version avec des informations de débogage sur

    QMAKE_CFLAGS_RELEASE -= $$QMAKE_CFLAGS_RELEASE 
    QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO 
    QMAKE_CXXFLAGS_RELEASE -= $$QMAKE_CXXFLAGS_RELEASE 
    QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO 
    QMAKE_LFLAGS_RELEASE -= $$QMAKE_LFLAGS_RELEASE 
    QMAKE_LFLAGS_RELEASE += $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO 
    

    J'ai encore besoin de comprendre 3 et 4. Toute aide serait utile.

  • Répondre

    1

    Vous pouvez jeter un oeil à ce projet: https://github.com/AlekSi/breakpad-qt

    Documentation pour le projet est assez rare, mais au moins il a des sous-projets handler et sender qui pourrait répondre à vos questions # 3 et # 4.