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 :

Détecter un bug qui n'est pas visible par tous


Sujet :

Delphi

  1. #1
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut Détecter un bug qui n'est pas visible par tous
    Bonjour amis développeurs

    je vais tenter de faire bref et simple...

    Sur une application qui était installée "à l'ancienne", c'est à dire avec le fichier d'initialisation et tout et tout dans un sous-dossier du dossier d'installation ; j'ai modifié cette application afin qu'elle soit compatible Vista.

    Bref, tous les fichiers étant soumis à des écritures ; sont placés ailleurs en "C:\Users\NameUser\AppData\Roaming\..." pour Vista et autrement pour XP. Au niveau du chemin, tout se passe sous variable ; jusque là pas de problème.

    Mais dernièrement, j'ai eu des mails d'utilisateurs d'XP me disant que cette nouvelle version ne fonctionnait plus côté impression (logiciel d'impression).

    J'ai eu également des courriels d'utilisateurs me disant, que cette nouvelle version fonctionnait très bien, mais plus du tout ensuite après un passage via un expert de migration (en gros, un programme balançant tous les fichiers potentiellement "écrivables" et autres "images" vers le dossier USER de la nouvelle installation.

    Sachant que j'ai des bêta-testeurs sous XP qui ne peuvent reproduire ce bug, étant perso sous vista ; je commence à devenir chèvre

    Bref, comment faire pour pister le bug, lorsque l'on a pas le PC d'un user qui lui possède le résultat de ce bug ?

    Une histoire de fou, chercher le bug que nous ne voyons pas. En plus, un bug qui arrive chez l'un et pas chez l'autre !

    Avez-vous déjà été confrontés à ce genre de situations : pour un même OS, des fois ça marche, des fois non ?

    Pas très cartésien ni logique comme cas.

    Merci de toute suggestion ; car au début, je soupçonnais des pistes précises, mais après certaines demandes et réponses auprès d'utilisateurs sympa, ces pistes étaient fausses.

    J'ajoute que ces cas sont très peu représentatifs, sur un panel de 1.000 logiciels téléchargés, j'ai même pas une demi-douzaines de "cas".

    @+

    PS : Je pourrais par exemple demander la fichier d'initialisation aux user en question, mais les données sont trop indiscrètes à confier.

  2. #2
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    Salut,

    Je pense qu'il faudrais que tu testes sur un xp,des que j'ai un souci je teste

    toujours sur xp ainsi que vista je te propose si tu as que vista de tester

    vmware pour emuler un windows xp

    voila jespere t'avoir donner une idée.

    edit: peut-etre que leur version est modifier?

    ou tu peux faire une maj que quand il y a un bug il te renvoie l'erreur exacte,sa peut etre une solution mais bon...

    A+
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

  3. #3
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Salut shell13010,

    Oui bonne idée, pourquoi pas, mais si j'ai déjà des testeurs qui eux possèdent XP.

    Sans parler de la grande majorité des utilisateurs sous XP n'ayant aucun soucis.

    Mais toute idée est bonne à prendre.

    Merci @+

    Edit :
    peut-etre que leur version est modifier?
    Je le pensais aussi, mais pas pensable pour certains professionnels qui utilisent ce programme = fiablité doit primer !

    ou tu peux faire une maj que quand il y a un bug il te renvoie l'erreur exacte,sa peut etre une solution mais bon...
    Hé oui mais faut déjà détecter l'insecte, or c'est là le big blème, je ne sais pas de quel côté il arrive ! (s'il arrive...)

  4. #4
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    Je sais pas si c'est possible mais le mieux est d'essayer de mettre une petite fonction qui renvoie l'offset (peut-etre)?

    exemple: le prog se lance si il y a une erreur alors on renvoie l'offset qui fait crasher le prog puis il te l'envoie..

    apres si tu as l'offset tu peux savoir d'ou viens le probleme et tracer jusqu'au bug,a se moment la tu peux faire un petit patch si tu as modifier l'executable..
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

  5. #5
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    exemple: le prog se lance si il y a une erreur alors on renvoie l'offset qui fait crasher le prog puis il te l'envoie..
    S'il y a une erreur, or le big problème est qu'il n'y a manifestement pas d'erreur, par répercussion, aucun moyen de faire "ressortir" le fautif.

    Le noeud du problème se trouve justement là...

    J'ai encore trituré tout ça dans ma tête, dans tous les sens.
    Logiquement (quoique ) c'est l'éloignement du fichier d'initialisation qui devrait poser problème.

    En effet, l'exe envoie un signal d'impression, cette impression va puiser dans ce fichier de configuration.

    Il s'agit d'imprimer en tout et pour tout trois ou quatre lignes à des endroits très précis sur un petit formulaire. Mais si le fichier d'initialisation, pour une raison ou une autre, est lu avec un certain retard = peut-être que les coordonnées d'impression se retrouvent à "0" et automatiquement, la zone d'impression est dans les choux.

    Alors la petite icône d'imprimante arrive dans le systray, le BeginDoc est lancé, mais comme ses coordonnées d'impression sont "out"

    Enfin, ce n'est qu'une hypothèse de plus.

    C'est le genre de truc que je redoutais ; j'ai gagné

    @+

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 747
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 747
    Points : 13 315
    Points
    13 315
    Par défaut
    J'ai eu un cas comme celui-ci. Un client, un seul sur des milliers d'installation .
    Une clé dans la base des registres qui ne devait contenir que des infos traductibles en hexa (en l'occurence les langues installées) et chez celui-ci une valeur invalide! (une chaîne bidon)

    Lorsque tu parles de coordonnées, ça me fait penser à ça (strToInt => Exception)

  7. #7
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Lorsque tu parles de coordonnées, ça me fait penser à ça (strToInt => Exception)
    J'ai ai pas mal en effet !

    Sauf que moi, j'peux pas fourrer mon nez dans la BdR de mes utilisateurs

    Mais j'ajoute que ce programme ne présente aucun rapport avec la BdR (sauf l'installeur).

    merci de ces mots de réconforts

    Si si, je commençais à me dire que ça n'arrive qu'à moi.

    @+

  8. #8
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 747
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 747
    Points : 13 315
    Points
    13 315
    Par défaut
    Tu peux tout de même lui fournir un patch et convertir tes StrToInt en StrToIntDef pour essai. Que les données soient stockées dans un ini ou la base des registres, peut importe.

  9. #9
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Tu peux tout de même lui fournir un patch et convertir tes StrToInt en StrToIntDef pour essai. Que les données soient stockées dans un ini ou la base des registres, peut importe.
    Merci, ça c'est une idée facilement réalisable ; suffit de coder dans l'exe un échantillonnage et de demander ce qui en retourne à un utilisateur.

    J'utilisais toujours le transtypage StrToInt

    Je vais voir ça demain

  10. #10
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut


    Je vous devais un retour, puisqu'en principe ce soucis est résolu.

    J'avais donc réalisé une version de test remise aux utilisateurs intéressés pour tenter de découvrir le grain de sable...

    La version de test fonctionnait sous toutes ses coutures, même la partie qui auparavant ne fonctionnait plus.

    En retournant encore une fois le problème dans tous les sens, une seule (?) possibilité s'offrait des plus plausibles.

    Cette dernière était grosse comme une erreur de débutant, enfin si c'est véritablement ce dont je pense.

    Quoi donc allez-vous me demander ?

    Tout bêtement un serveur un peu surchargé et défaillant, et hop, quelques downloads limités à la période critique ; des données se trouvent dégradées et la suite n'est pas difficile à deviner.

    Tout se passait sur l'intégrité de l'exe et non en rapport avec telle ou telle fonction foirant sur un OS bien déterminé, entre l'exe et son fichier d'initialisation, comme je le pensais à tort au début.

    Voilà, si cet épisode peut servir à d'autres développeurs...

    @+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/11/2014, 16h06
  2. Réponses: 2
    Dernier message: 23/09/2014, 16h20
  3. Réponses: 5
    Dernier message: 02/05/2013, 20h56
  4. Réponses: 1
    Dernier message: 27/08/2010, 10h20
  5. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48

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