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

Windows 7 Discussion :

Résolution du crash d'une application


Sujet :

Windows 7

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut Résolution du crash d'une application
    Bonjour à tous,

    Je ne sais pas si je post au bon endroit mais les modo se feront un plaisir de déplacer ce post.

    Je travaille sur une application un peu vieille développée en VB6. Quand on quitte l'application j'ai le droit à 2 messages windows de crash comme quoi l'application a cessé de fonctionner.

    Ces messages sont apparus depuis Windows 7 (en x64, j'ai pas testé en 32 bits ), sous XP aucuns message et en lançant en mode de compatibilité XP SP3 pas de message non plus.

    J'aimerais trouver d'où vient ce problème pour le corriger, j'ai regardé l'observateur d'évènement et voici une partie du fichier wer :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Version=1
    EventType=APPCRASH
    EventTime=129864846506625354
    ReportType=2
    Consent=1
    ReportIdentifier=0a79d4e2-cb57-11e1-8627-782bcb976d21
    IntegratorReportIdentifier=0a79d4e1-cb57-11e1-8627-782bcb976d21
    WOW64=1
    Response.type=4
    Sig[0].Name=Nom de l’application
    Sig[0].Value=****.exe
    Sig[1].Name=Version de l’application
    Sig[1].Value=5.10.0.10
    Sig[2].Name=Horodatage de l’application
    Sig[2].Value=4ffae869
    Sig[3].Name=Nom du module par défaut
    Sig[3].Value=StackHash_4aae
    Sig[4].Name=Version du module par défaut
    Sig[4].Value=0.0.0.0
    Sig[5].Name=Horodateur du module par défaut
    Sig[5].Value=00000000
    Sig[6].Name=Code de l’exception
    Sig[6].Value=c0000005
    Sig[7].Name=Décalage de l’exception
    Sig[7].Value=078b6624
    DynamicSig[1].Name=Version du système
    DynamicSig[1].Value=6.1.7601.2.1.0.256.48
    DynamicSig[2].Name=Identificateur de paramètres régionaux
    DynamicSig[2].Value=1036
    DynamicSig[22].Name=Information supplémentaire n°*1
    DynamicSig[22].Value=4aae
    DynamicSig[23].Name=Information supplémentaire n°*2
    DynamicSig[23].Value=4aaef6e3ba6bb2c1bb592c9f47b052aa
    DynamicSig[24].Name=Information supplémentaire n°*3
    DynamicSig[24].Value=2399
    DynamicSig[25].Name=Information supplémentaire n°*4
    DynamicSig[25].Value=2399c5e02b021b56eb4d77db4cd9b43f
    J'aimerais savoir si quelqu'un sait où trouver l'explication pour ces 2 valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sig[6].Name=Code de l’exception
    Sig[6].Value=c0000005
    Sig[7].Name=Décalage de l’exception
    Sig[7].Value=078b6624
    Merci de votre aide précieuse
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  2. #2
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    Citation Envoyé par alexxxx69 Voir le message
    J'aimerais savoir si quelqu'un sait où trouver l'explication pour ces 2 valeurs :
    0xc0000005= STATUS_ACCESS_VIOLATION

    Voir : Analyze Crashes to Find Security Vulnerabilities in Your Apps

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    merci du tuyau, va falloir que je me mette à l'assembleur alors
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    VB6 n'est pas compatible avec W7 (en général et surtout W7-64bits)

    Il arrive à fonctionner pas trop mal, mais il peut y avoir des plantages aléatoires et ces fameux messages d'erreur quasi systématique à la fermeture.

    Tu peux tenter les mode de compatibilités d’exécution pour réduire le phénomène (choisir un compatibilité XP SP2 ou SP3) ou le mieux est de passer par le XPMode.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    Désolé pour la réponse tardive, et merci pour ton post sevyc64.

    Notre application VB6 marche très bien sous Seven et pourtant c'est une grosse application (90 projets, environ 30000 fonctions, pleins d'API utilisés...)

    Le seul problème est une fois que l'appli est complètement fermée, mais cela n'arrive pas forcément tout le temps.

    D'ailleurs, quand on ferme Visual Basic 6, on obtient la même erreur.

    J'aurais bien voulu trouver d'où cela viens mais je ne sais pas par où commencer. Peux-t-on debugger un processus genre quand l'erreur arrive un programme affiche le code assembleur du fichier exe pour voir quelle ligne bug, et essayer de remonter de l'assembleur au code source ?

    Après si l'erreur vient d'une dll de windows ou de VB6, là je ne pourrais rien faire.
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    JE ne sais pas, j'ai abandonné VB6 en passant à W7.

    Quand aux logiciels écrits en VB6, j'ai pas souvenir d'avoir eu le message en utilisant les modes de compatibilité.

    De mémoire le problème existait déjà sous Vista
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  7. #7
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    Je reviens vers vous pour ce problème récurrent que je n'arrive pas à résoudre.

    J'ai toutes les informations sur le type d'erreur et l'emplacement dans le code assembleur mais peut-on au moins savoir dans quelle dll utilisée par mon programme l'erreur se trouve ?

    Lorsque le programme plante, je peux le debogger avec Visual Studio 2010 mais je ne sais pas quoi faire. J'ai bien le code machine (qui ne me sert à rien car je ne sais pas l'interpréter), le type d'erreur (STATUS_ACCESS_VIOLATION) mais après que faire pour avancer et trouver des informations sur le bout de code générant une erreur afin de la corriger ?

    Cette erreur se produit quand je quitte mon programme. Lorsque je debug mon programme, j'ai par moment des erreurs automation sur des projets qui arrivent entre la dernière ligne de code exécutée et l'arret de l'appli par VB et quand j'ajoute le projet incriminé à mon groupe de projet pour debug, je n'ai plus d'erreur...

    Si quelqu'un à des astuces pour pouvoir identifier ces erreurs (utilitaire, logs...) je suis preneur car pour l'instant je suis bloqué.

    merci à tous
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  8. #8
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    En gros ton programme génère une erreur parce qu'il essaye d'accéder à un fichier ou un dossier sur lequel il n'a pas le droit.

    A la fermeture, par exemple, ton logiciel peut vouloir enregistrer la config en cours, ou un environnement dans un de ses fichiers de configuration situé dans un de ses sous-répertoire d'installation.
    Si ce logiciel est installé dans un sous répertoire de C:\Program Files (ce qui devrait être le cas par défaut) sous Vista, W7 et suivant, tu auras cette erreur car ce répertoire et ces sous-répertoires sont désormais en lecture seule.
    (C'est le cas aussi pour la racine du C:, ainsi que les dossiers Windows, System32 entre-autre)

    Cela traduit des logiciels très mal conçus. Et, comme jusqu'à XP, le système Windows a été très très permissif, ce genre de logiciel est extrêmement courant.

    Généralement le mode de compatibilité résout ce genre de problème. L'autre solution est aussi, de ne pas installer le logiciel dans le chemin par défaut sous Program Files, mais dans son propre répertoire créé à la racine du disque
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  9. #9
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    En gros ton programme génère une erreur parce qu'il essaye d'accéder à un fichier ou un dossier sur lequel il n'a pas le droit.

    A la fermeture, par exemple, ton logiciel peut vouloir enregistrer la config en cours, ou un environnement dans un de ses fichiers de configuration situé dans un de ses sous-répertoire d'installation.
    Si ce logiciel est installé dans un sous répertoire de C:\Program Files (ce qui devrait être le cas par défaut) sous Vista, W7 et suivant, tu auras cette erreur car ce répertoire et ces sous-répertoires sont désormais en lecture seule.
    (C'est le cas aussi pour la racine du C:, ainsi que les dossiers Windows, System32 entre-autre)

    Cela traduit des logiciels très mal conçus. Et, comme jusqu'à XP, le système Windows a été très très permissif, ce genre de logiciel est extrêmement courant.

    Généralement le mode de compatibilité résout ce genre de problème. L'autre solution est aussi, de ne pas installer le logiciel dans le chemin par défaut sous Program Files, mais dans son propre répertoire créé à la racine du disque
    Le problème ne vient pas de là. En creusant un peu les rapports d'erreurs il s'agit de l'accès à une case mémoire qui n'est plus utilisée par le programme. Cette erreur arrive après la dernière ligne de code exécutée et non avant c'est pour cette raison que je galère à trouver d'où cela provient.

    En debuggant avec VS2010, j'ai le code assembleur qui tente d'accéder à une case mémoire inconnue. Ce que j'aimerais retrouver c'est dans quelle DLL se trouve ce bout de code assembleur qui doit surement correspondre à la libération de la mémoire utilisée par le programme (API, OCX...)

    Soit cela vient d'un composant que nous avons écris, soit d'un API de windows qui foire (vu que normalement VB6 n'est pas compatible avec Windows 7 et pourtant 99,99% de notre programme fonctionne correctement).
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  10. #10
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    Voici les informations que j'ai obtenu de WinDbg :

    (166c.2758): Access violation - code c0000005 (first chance)
    First chance exceptions are reported before any exception handling.
    This exception may be expected and handled.
    eax=01f8b004 ebx=00000800 ecx=01f16ce4 edx=00000000 esi=01f8b004 edi=006d0a68
    eip=729926a6 esp=0018f648 ebp=75850dfb iopl=0 nv up ei pl zr na pe nc
    cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
    MSVBVM60!IID_IVbaHost+0x24066:
    729926a6 ff7174 push dword ptr [ecx+74h] ds:002b:01f16d58=????????
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  11. #11
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Comme ça, je vois pas, j'ai pas d'idées
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

Discussions similaires

  1. [Compiler] Crash d'une application standalone
    Par Phidyos dans le forum MATLAB
    Réponses: 4
    Dernier message: 09/10/2014, 21h13
  2. récupérer le fichier log après le crash d'une application
    Par sylvain94 dans le forum Windows Phone
    Réponses: 2
    Dernier message: 17/03/2012, 00h54
  3. [XL-2007] Résolution des formulaires d'une application
    Par miska dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2010, 19h39
  4. crash d'une application en Visual C++
    Par karim2009 dans le forum Visual C++
    Réponses: 0
    Dernier message: 04/06/2009, 18h20
  5. Info sur le crash d'une application.
    Par kchrel dans le forum C#
    Réponses: 4
    Dernier message: 01/05/2007, 15h04

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