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

MFC Discussion :

À la recherche de l'erreur mystère


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut À la recherche de l'erreur mystère
    Bonjour a tous,
    Je viens a vous car je me retrouve face a une colle a la Microsoft.
    Depuis quelques temps je développe un petit programme de gestion d'une carte électronique avec interface graphique. J'utilise pour ça les classes MFC.

    Il y a deux jour, Windows ayant crashé, je me suis retrouvé dans l'obligation de le réinstaller.. Et depuis, plus moyen de faire fonctionner mon programme..Même les anciennes versions validées. J'ai systématiquement droit au message :
    "An unsupported operation was attempted"
    Ce qui a le mérite d’être très clair pour la suite du débug.

    J'ai bien récupéré les anciennes dll nécessaires. Le programme continue de fonctionner sur d'autres ordis(Xp SP2). Le miens est passé en XP Sp3 pensant que ça pourrait résoudre le problème.

    Auriez-vous une idée des causes de ce message d'erreur ? Même si j'arrive a trouver quelles updates installer ou non sur mon ordi, le logiciel est destiné a être exécuté sur des ordis clients..

    Merci pour tout,

    Alexis

  2. #2
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    A mon avis il va falloir que tu réinstalles VS (afin de réinstaller les MFC) ou que tu installes le package redistribuable de VS (quelques mo).

    Bon courage.

  3. #3
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    quelle version de VS tu travailles avec ?
    l'erreur apparait en executant le programme avec exe ou en le lencant a partir de VS ? à quel moment ?
    si tu lances le prog avec exe, as tu essayé de recompiler tout et rebuilder ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    Merci a vous,
    Je travaillais avec 2006 au début, puis je suis passe sur 2010.
    Même les anciennes versions compilées ne marchent plus. Je viens de tenter de réinstaller Windows, me voila de retour en sp2, je essaye de réinstaller les packages redistribuables, rien n'y fait...Je suis assez sidéré du manque d'information retourne par cette erreur !
    Merci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    Testé sous Windows XP 64b SP1 ca marche pas non plus grrrr

  6. #6
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    je ne pense pas que ca ait rapport avec la version du sp ou de type de windows. il va faloir que tu compare la version qui a marché et la config du systeme sur lequel elle a fonctionné avec celle que tu as.
    je n'ai aucune idée de quoi ca peut s'agir, desolé.
    bonne chance

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 461
    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 461
    Par défaut
    Si vous n'avez pas de debugger type celui de Visual Studio sur la machine qui pose problème et que vous ne voulez pas le faire, utilisez DrWatson pour générer un dump du programme au moment de l'erreur.

    Générez systématiquement les fichiers "pdb" de vos modules.

    Avec le fichier de dump et les fichiers pdb de vos modules, vous pourrez utiliser n'importe quel debuggeur ayant des fonctionnalités "post-mortem", comme WinDbg ou VS, pour voir précisément l'état du programme au moment du crash.

    Mais lancer le programme qui plante directement à partir de VS est une solution bien plus simple.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    Merci bacelar, ça m'a l'air plutôt pas mal tout ça.. Mais le truc c'est que mon programme ne plante pas totalement. Il m'affiche un message d'erreur et se lance. Ensuite, bien sur plus rien ne marche :/

    Par contre j'avoue ne rien connaitre en débogage(a part sur microcontroleur), Dr Watson, débogage post-mortem, etc... Tu sais s'il existe un bon tuto qui explique un peu tout ça ?

    Merci,

    Alexis

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    En fait je viens de trouver, l'erreur venait de fichiers OCX qu'ils fallaient que j'enregistre dans je sais pas quoi.. L'application sur laquelle je travaille étaient fournie dans une install, mais l'install ne fait que copier ces fichers OCX.

    Pour ceux que ca intéressent, voici la page qui m'a mis la puce a l'oreille, et celle la explique comment enregistré les fichiers OCX.

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 461
    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 461
    Par défaut
    [Mode donneur de leçon ON]
    Le fait qu'une boite de dialogue comme celle-ci apparaissent et que le programme ne plante pas montre un petit problème dans le développement.

    Un programme ne doit pas joué à survivre à tous, il doit se fermer le plus proprement possible. Il y a manifestement un problème dans le traitement des codes d'erreurs ou des exceptions levées.
    [Mode donneur de leçon OFF]

    Bon maintenant que l'on n'est dans la m****, il faut s'en sortir.

    Le debugging post-mortem est un sujet un peu complexe (un peu un euphémisme ) dans son assemble. La documentation de ce genre d'outils demande une très bonne connaissance des OS en générale.

    En essayant d'être pragmatique mais moins exhaustif, on va essayer de sans servir de manière factuelle.

    L'application ne plante pas, cela ne va pas simplifier les choses.
    Il faut donc générer un dump au moment de l'affichage de la fenêtre.
    Il doit exister de nombreux méthode pour générer un dump à un moment arbitraire mais la mienne, c'est avec ADplus (pour Auto Dump plus) qui permet de générer un dump pendant qu'une application tourne (ou freeze).
    C'est un script de configuration du débugger préinstallé dans Windows.
    Il fait parti du package "Debugging Tools for Windows"
    http://www.microsoft.com/whdc/devtoo...g/default.mspx

    Documentation sommaire :
    http://support.microsoft.com/kb/286350

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 461
    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 461
    Par défaut
    Vis à vis du problème d'enregistrement des composant COM (OCX, ActiveX etc), pensez à packager votre application avec les outils ad hoc pour que tout les pré-requis soit automatiquement installés ou vérifiés.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. A la recherche de l'erreur
    Par guidav dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/04/2009, 13h36
  2. recherche multi critaire erreur 3075
    Par popofpopof dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/10/2008, 09h14
  3. Fonction rechercher et déplacer Erreur :(
    Par julien0709 dans le forum VBScript
    Réponses: 15
    Dernier message: 27/06/2008, 12h16
  4. Réponses: 1
    Dernier message: 14/09/2007, 16h50
  5. Réponses: 2
    Dernier message: 13/06/2006, 14h26

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