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 :

Erreur défaillance du tas DLL


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 43
    Par défaut Erreur défaillance du tas DLL
    Bonjour à tous,

    J'ai développé en C++ une DLL permettant de contrôler un fichier Microsoft Excel (.xls).
    J'ai effectué plusieurs tests pendant le développement et j'ai validé son fonctionnement.
    J'ai ensuite ajouté ma DLL à mon programme, et je fais une boucle de lecture de lignes du fichier (il y a 1224 lignes).
    La lecture se fait correctement et et je récupère bien toutes mes informations.
    Seulement, à la sortie de la boucle, le message suivant apparait :
    Windows a déclenché un point d'arrêt dans test.exe.
    Cela peut être dû à une défaillance du tas qui indique un bogue dans mice.exe ou l'une des DLL chargées.
    Cela peut également être dû à l'appui sur la touche F12 lorsque mice.exe a le focus
    La fenêtre Sortie peut contenir des informations de diagnostic supplémentaires.

    J'ai donc vérifié toutes les allocations et libérations de ma DLL sans résultats.
    Je suis a cours d'idées, si quelqu'un à un conseil, il sera le bienvenu !

  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
    Un thread ne peut pas supprimer des données instanciées par un autre : vérifie bien que ce n 'est pas le cas dans ton programme.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 43
    Par défaut
    J'ai bien cherché de ce coté la mais sans résultats.
    Existe t'il un utilitaire VS ou un logiciel gratuit pour rechercher ce type d'erreur?
    J'utilise des objets VARIANT. Le problème pourrait-il venir de ces objets?

  4. #4
    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
    Pas que je sache en tout cas

    Pour palier à ton soucis je te conseille de mapper les allocations et désallocations derrière des points d'entrées de ta DLL.
    Par exemple NewMachin et DeleteMachin qui dans leurs implémentations feront appel à theApp.New et theApp.Delete, afin que ce soit le thread de la DLL et lui-seul qui gère tout. Après à toi de remplacer partout tes manipulations de mémoire par ces appels.
    Tu me suis ?

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 43
    Par défaut
    Je ne te suis pas !
    Tu veux parler d'instancier l'application Excel par ma DLL c'est bien sa?
    Si oui c'est déja le cas

  6. #6
    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
    Montre ton code (DLL + les appels qui y sont faits).

Discussions similaires

  1. Erreur une défaillance du tas(vs)
    Par twity dans le forum C
    Réponses: 1
    Dernier message: 25/12/2012, 15h37
  2. Erreur d'exécution: msvcr80d.dll
    Par mister3957 dans le forum MFC
    Réponses: 6
    Dernier message: 25/01/2007, 16h48
  3. Réponses: 3
    Dernier message: 31/08/2006, 11h59
  4. Erreur de module ntdll.dll
    Par EssaiEncore dans le forum Langage
    Réponses: 13
    Dernier message: 30/04/2006, 15h36
  5. [Débutant][JNI]Erreur de chargement de dll
    Par Agifem dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 24/04/2003, 14h36

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