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 :

Problème de migration vers VS2008


Sujet :

MFC

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut Problème de migration vers VS2008
    Bonjour,
    Je viens de migrer mon appli de VS2005 vers VS2008.
    OS vista, MFC statically linked
    En mode release sous VS2008 mon appli crash à la fermeture!

    kernell32.dll!7730c56f()
    MonAppli.exe!005f2a07()
    ...
    Elle ne crash pas en mode Debug.

    J'ai également placé une sortie console sur ExitInstance() et le crash survient dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return CWinApp::ExitInstance();


    Pouvez-vous me donner quelques conseils? Il y a t'il moyen de trouver le code relatif à MonAppli.exe!005f2a07()?

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    tu n'as pas changé lalignement de la mémoire sur les structures ?
    tu as spécifié un plateforme OS particulière ?
    sinon essaye d'activer les infos de debugage en release...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par farscape Voir le message
    salut,
    tu n'as pas changé lalignement de la mémoire sur les structures ?
    tu as spécifié un plateforme OS particulière ?
    Non, rien je prend le projet qui tourne en VS2005, je l'ouvre en 2008 et je realise la conversion.

    Citation Envoyé par farscape Voir le message
    sinon essaye d'activer les infos de debugage en release...
    déjà essayé sans résultats.

    Je viens de compiler une ancienne version de mon code qui passe... Il ne reste plus qu'à travailler par itérations successives en ajoutant les modifs les une après les autres (source code contrôle)...

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    attention quand même a la plateforme..
    j'avais un projet en vc2005 qui tournait sans problème et sous vc2008 et sous vista ça plantait (en debug et release) a cause de la plateforme spécifiée...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par farscape Voir le message
    attention quand même a la plateforme..
    j'avais un projet en vc2005 qui tournait sans problème et sous vc2008 et sous vista ça plantait (en debug et release) a cause de la plateforme spécifiée...
    Win32 dans les deux cas!

    Pour le moment

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    ça je me doute ...
    je parle de ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #define      WINVER 0x0500        // windows 2000
    #define _WIN32_WINNT 0x0501 // xp
     
    #ifndef WINVER                          // Spécifie que la plateforme minimale requise est Windows Vista.
    #define WINVER 0x0600           // Attribuez la valeur appropriée à cet élément pour cibler d'autres versions de Windows.
    #endif
     
    #ifndef _WIN32_WINNT            // Spécifie que la plateforme minimale requise est Windows Vista.
    #define _WIN32_WINNT 0x0600     // Attribuez la valeur appropriée à cet élément pour cibler d'autres versions de Windows.
    #endif
     
    #ifndef _WIN32_WINDOWS          // Spécifie que la plateforme minimale requise est Windows 98.
    #define _WIN32_WINDOWS 0x0410 // Attribuez la valeur appropriée à cet élément pour cibler Windows Me ou version ultérieure.
    #endif
     
    #ifndef _WIN32_IE                       // Spécifie que la plateforme minimale requise est Internet Explorer 7.0.
    #define _WIN32_IE 0x0700        // Attribuez la valeur appropriée à cet élément pour cibler d'autres versions d'Internet Explorer.
    #endif
    cette config dans mon cas fontionne sur un poste xp avec visual 2005
    ce même projet recompilé sous vista et vc2008 pose problème...

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Oups, voila quelque chose qui m'interpelle...
    Mon projet est relativement vieux pour passer sur VS2008 j'ai changer le WINVER de 0x0400 vers 0x0500.
    Comment as-tu solutionné ton problème?

  8. #8
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    sous vista j'ai mis les deux win32 et winver a: 0x0600 // vista

    j'y ai passé des heures avant de trouver j'avais des plantages aléatoires...


  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    J'ai placé WINVER à 0x0500 parceque mon target minimum est Windows2000.
    J'ai également des plantages aléatoires, le plus fort 2codes strictements identiques dans deux répertoires différents compilés (build all) avec VS2008, une appli crash l'autre pas!

    Malheureusement cela n'à pas l'air de solutionner mon problème...

  10. #10
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    tu as essayé quand même de mettre la plateforme a vista pour voir ?

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    oui j'ai fait comme toi tout à 0x0600

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    suite de l'aventure, plus de 40h sur ce problème et tjrs pas de solution

    Il semblerai qu'il survienne lorsque le destructeur d'une de mes classes est appellé ! J'en conclu donc fuite de mémoire, pointeur corrompu, ...
    La classe en question dispose d'une seule variable membre du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::deque<std::string> m_list
    Dans le destructeur je trouve
    m_list.clear()
    .
    J'ai enlevé cette ligne de code sans que rien ne change.
    Si par contre je retourne à la version précédente de ma classe qui incorporait un CList le code tourne!

    Est-ce que la déclaration du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::deque<std::string> m_list
    Est incorrecte?

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut


    Deux fois le desctructeur sur un container

    En tous les cas merci farscape pour ton aide..

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

Discussions similaires

  1. Problème de migration vers .NET 4.5
    Par abasourdix dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/02/2013, 11h52
  2. Problème de migration vers SQL2008
    Par Alikendarfen dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 16/10/2009, 14h06
  3. problème migration WCF de VS2005 vers VS2008
    Par jmclej dans le forum Visual Studio
    Réponses: 0
    Dernier message: 29/07/2009, 19h36
  4. Probléme de migration vers VS 2005
    Par boyDjine dans le forum VC++ .NET
    Réponses: 9
    Dernier message: 15/09/2008, 19h51
  5. Migration vers VS2008
    Par alen dans le forum MFC
    Réponses: 3
    Dernier message: 14/04/2008, 13h13

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