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

Delphi Discussion :

Localiser violation d'accès sans debogueur


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut Localiser violation d'accès sans debogueur
    Bonjour,

    J'ai une application developpée en Delphi 2007 qui plante sur une violation d'accès.
    Avec le message : "Violation d'accès à l'adresse 0047CCE0 dans le module 'MonAppli.exe'. Lecture de l'adresse 00000004."
    Ce plantage ne se produit pas sur la machine de développement, uniquement sur les PC de prod.

    Quelle technique utilisez vous pour localiser ce type de plantage, puisque l'utilisation du debogueur est impossible?

    Je dois préciser que l'appli en question était initialement développée avec Delphi 2006 (Borland Developper Studio 2006) mais depuis qu'elle a été recompilée en Delphi 2007 ces problèmes de violation d'accès sont apparus.

  2. #2
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Tu peux utiliser un fichier de log qui indique ou le code plante

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par retwas Voir le message
    Tu peux utiliser un fichier de log qui indique ou le code plante
    Oui bien sûr. Mais cette solution peut s'avérer très fastidieuse pour cerner le problème quand l'application est complexe.
    Je pensais plus à des outils comme MadExcept. Avoir un retour d'expérience sur ce type d'outils.

    D'ailleurs au niveau des fichiers de log, est ce que certains d'entre vous utilisent des librairies du style Log4D ou autre?

  4. #4
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Je pensais que tu avais ton erreur après un clic sur un bouton ou que tu arrivais à reproduire facilement

    Tu peux effectivement prendre un logiciel qui envoi automatiquement (ou avec accord de l'utilisateur) un rapport avec l'état du système, la version du logiciel, une capture ou même la pile.

    Je m'étais renseigné sur MadExcept qui a l'air très bien mais il y a aussi SmartInspect et EurekaLog.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par retwas Voir le message
    Je pensais que tu avais ton erreur après un clic sur un bouton ou que tu arrivais à reproduire facilement

    Tu peux effectivement prendre un logiciel qui envoi automatiquement (ou avec accord de l'utilisateur) un rapport avec l'état du système, la version du logiciel, une capture ou même la pile.

    Je m'étais renseigné sur MadExcept qui a l'air très bien mais il y a aussi SmartInspect et EurekaLog.
    Le plantage se produit sur une application qui traite automatiquement des données en continu, il n'y a pas d'action utilisateur.
    Je vais regarder de plus près MadExcept pour voir comment ça s'utilise.

  6. #6
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 968
    Points
    6 968
    Par défaut
    Citation Envoyé par aharel Voir le message
    Quelle technique utilisez vous pour localiser ce type de plantage, puisque l'utilisation du debogueur est impossible?
    Bien sûr que si.
    Il suffit d'utiliser le débugage distant (qui sert justement à ça).
    Tu installes la partie cliente sur le poste en question, tu compiles l'exe avec les options qui vont bien, et tu peux exécuter sur le poste, tout en faisant du pas-à-pas sur ton delphi.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 174
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par Lung Voir le message
    Bien sûr que si.
    Il suffit d'utiliser le débugage distant (qui sert justement à ça).
    Tu installes la partie cliente sur le poste en question, tu compiles l'exe avec les options qui vont bien, et tu peux exécuter sur le poste, tout en faisant du pas-à-pas sur ton delphi.
    Je ne connaissais pas cette solution, je vais regarder si je peux m'en tirer avec le débogage distant.
    Merci pour ton retour.

Discussions similaires

  1. ReportPrinterDialog (QR2) : violation d'accès..
    Par Harry dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/12/2004, 14h04
  2. [XMLDocument] Violation d'accès
    Par xant dans le forum Composants VCL
    Réponses: 8
    Dernier message: 29/09/2004, 15h39
  3. requete / violation d'accès
    Par marie253 dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/08/2004, 13h29
  4. Violation d'acces apres Execute
    Par SegmentationFault dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 10/08/2004, 16h23
  5. Violation d'accès apres Close
    Par SegmentationFault dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/07/2004, 16h46

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