IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Rapport d'exécution VC++


Sujet :

Visual C++

  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 37
    Par défaut Rapport d'exécution VC++
    Bonjour à tous,

    On m'a parlé d'un flag permettant dans Visual (C++, 2005) de générer un fichier texte contenant des informations sur le déroulement du programme lors de son exécution.

    Auriez-vous une idée de comment obtenir des informations lors de l'exécution d'un programme C++ (pile d'appels, codes d'erreurs ou autres) dans un fichier texte ? Je n'ai pas trouvé dans les propriétés du projet...

    Si vous avez une idée n'hésitez pas...

    Merci d'avance .

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Vous voulez parler de logs, de traces, de dumps mémoires ?
    Sur quels types "d'évènements" ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 37
    Par défaut
    je cherche à obtenir des détails sur l'origine de l'erreur d'exécution, le contexte, l'état dans lequel était le programme lorsque l'incident s'est produit, etc.

    Ce genre de renseignements peut-il etre extrait automatiquement lors de l'exécution... sous forme de traces pourquoi pas, liste des appels de fonctions, j'ai besoin d'infos donc j'accepte toute proposition susceptible de m'indiquer si une variable n'est pas initialisée (ou mal), si le programme passe dans une fonction spéciale d'erreur, s'il essaye d'accéder à une mauvaise version de DLL...

    Existe-t-il un flag ou une option à activer dans Visual pour produire, lors de l'exécution, un fichier qui tracerait ce genre d'informations... ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Je ne connais pas de flags "magiques" qui permettraient de loguer toutes les entrées et les sorties de méthode ou de dumper la valeur des variables à chaque modification. C'est toujours possible à faire avec un peu de code assembleur de prologue et d'épilogue de fonction, mais je ne pense pas que cela soit votre besoin.

    Si c'est avoir des explications sur des incidents lors de plantage ou d'une charge CPU ou disque trop forte, Je vous conseil l'utilisation d'utilitaire de dump automatiques comme ADPLUS.
    http://msdn.microsoft.com/en-us/library/cc265629.aspx.

    Si vous nous donner une description de votre problème et pas d'une solution (le flag magique de Visual Studio).

    Je pense que s'il existe ce flag, nous le connaîtrons et la description du problème permettra de trouver et de faire bien plus.

    sous forme de traces pourquoi pas, liste des appels de fonctions
    le dump de l'exécutable permet d'avoir toute la mémoire et la pile d'appel lors de l'incident ou du snapshot manuel.

    m'indiquer si une variable n'est pas initialisée (ou mal),
    normalement, c'est les warnings lors de la compilations qui vous les indiquent.

    si le programme passe dans une fonction spéciale d'erreur
    paramétrable avec ADPLUS de dumper sur le passage dans une fonction (mais c'est un peu tetchy )

    d'accéder à une mauvaise version de DLL...
    Les trace du débuggeur en ligne d'ADPLUS log le chargement et le déchargement de dll et le dump mémoire permet de voir le contenu de celles-ci.

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 37
    Par défaut
    Pour être plus précis sur le problème et non la solution, j'ai ce plantage :
    Application défaillante controleur.exe, version 3.1.1.0, module défaillant msvcr80.dll, version 8.0.50727.762,...
    Par ailleurs j'ai découvert ce matin qu'il y a l'option /analyse dans visual qui fournit des informations aux développeurs à propos des erreurs possibles dans leur code source C/C++. Les erreurs de codage courantes signalées pour cet outil sont la saturation de la mémoire tampon, la mémoire désinitialisée, le déréférencement du pointeur null et les fuites de mémoire et de ressources.
    (Cf. http://msdn.microsoft.com/fr-fr/libr...tz(VS.80).aspx)
    Cependant, j'ai activé cette option mais aucun fichier "CodeAnalysisLog.xml" est généré. Je ne sais pas pourquoi. De plus, ce fichier est semble-t-il généré lors de l'édition de lien donc il ne me donnera que des informations sur les possibles erreurs... pas sur les appels successifs que fait le programme ou les erreurs rencontrées.

    Je vais regarder du côté d'ADPLUS si je progresse...

    Merci en tout cas pour les conseils. Si vous en avez d'autres n'hésitez pas

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    CodeAnalysis, c'est une analyse statique, ce n'est pas votre problème initial.

    En cas de plantage, ADPLUS permettra d'avoir un dump.
    Il faudra utiliser WinDbg ou Visual Studio pour lire le contenue du Dump.
    Pensez à configurer la récupération automatique des symboles pour les dll système et à avoir archivé correctement les .pdb correspondant à la version de l'exécutable en erreur.

  7. #7
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 37
    Par défaut
    Merci pour ce tuyau je vais déjà essayer avec ça. J'ai testé ça à l'air interressant même si je ne sais pas encore bien décortiquer le dump...

    Sinon je suis en train de regarder la solution de faire du debug a distance... pourquoi pas.

Discussions similaires

  1. Erreur REP-1213 lors de l'exécution du rapport
    Par roddube dans le forum Reports
    Réponses: 1
    Dernier message: 23/04/2008, 12h35
  2. Réponses: 6
    Dernier message: 15/12/2007, 14h18
  3. [MySQL] exécution d'un rapport .rptdesign dans un cadre en php
    Par abdou1664 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/05/2007, 17h23
  4. Réponses: 7
    Dernier message: 11/09/2006, 14h23
  5. Exécuter du code Java à partir d'un rapport
    Par medbass dans le forum BIRT
    Réponses: 6
    Dernier message: 16/08/2006, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo