Logique de "bebug"

dje8269

Senior Member
Logique de "debug"

Bonsoir à tous ,

Histoire de changer de conversation et de la programmation , je vous sollicite pour connaitre vos moyens pour "debugger" un programme ?

y'a-t-il une façon protocolaire a respecter, afin d'être le plus efficace possible ? peut être avec une certaine logique, avec le simulateur ou autre façon aussi bien en hard qu'en soft .

Bien évidemment je suppose que l'idéal serait d'arriver à reproduire les conditions qui ont fait arriver le BUG , mais c'est rarement le cas malheuresement.

Je pose cette question, car durant mes tests de cet après-midi, le VHL c'est figé, et ne répondait plus du tout( apres plusieurs heures de test c'est la premiere fois) . impossible de savoir et de reproduire ce qui c'est passé. Sur ma plaque d'essai j'ai des leds de dispo pour poser des "marqueurs" a divers endroits clés du programme .

J'ai deja par exemple une led qui s'allume quand je reçois les données(avec le RFin) sur le µC, et une autre quand les données sont traités( a la reception du flag i2c) ; c'est ici, que sur mon bug de cet après midi, j'ai vu que les infos arrivaient bien par le RFin , mais ne sont pas traités ( le hi2cflag ne passait pas) .

j'aurais donc voulus savoir si avez des conseils ou autres !

Merci de m'avoir lu et bien vouloir partagé vos astuces :rolleyes:
 
Last edited:

alainav1

Senior Member
bonjour,
tu peux par exemple consacrer une sortie pour commander une led suivant les test
exemple dans un conditionnel tu fais clignoter une led un certain nombre de fois suivant l'évenement
une resistance de 1 ohms en serie dans l'alimentation permet de mesurer la consommation en intensité (c'est souvent un bon indicateur )
tu mets un amperemetre aux bornes de la resistance et comme u=RI et que R=1 la valeur de la tension et celle de l'intensité
tu peux tester ton programme au fur et a mesure et ne pas attendre que tout soit fini
mais ce n'est que ma methode
cordialement
Alain
 

dje8269

Senior Member
mais ce n'est que ma methode
Merci en tout cas de la partager ! .

Pour la R de 1 ohms , c'est super malin ca ... ca évite de débrancher pour connaitre le courant ! . Mais dans mon cas ce n'ai pas de probléme d'alim !!

exemple dans un conditionnel tu fais clignoter une led un certain nombre de fois suivant l'événement
Ca je peux pas le faire (j'ai pas le temps pour allumer plusieurs fois une led , j'ai moins de 40ms entre deux boucles) mais je peux ruser et allumer un led différente par "fonction" dans mon programme . ( j'ai mis un ULN2003A sur ma plaquette pour ce cas de figure)

tu peux tester ton programme au fur et a mesure et ne pas attendre que tout soit fini
Oui ca je le fais . mais c'est la première fois que ça me fais ça ;

J'ai eplucher mon programme, j'en suis arrivé à une conclusion, mais sans avoir la solution . Je crains encore une fois avoir appris a mes depends une bonne lecon . ca forge comme le dis ma signature .
Je penche pour un blocage du hi2cflag, mais comme mes infos etaient bien envoyés , c'est que le flag n'etait pas pris en compte, donc le µC est resté en maitre !!! Mon systeme de multimaitre fonctionne bien , mais niveau fiabilité c'est pas top a mon avis
 

alainav1

Senior Member
si tu décris précisement le but de ton programme
et que tu nous le transmet on pourra surement t'aider ?
la relecture faite par un autre est plus efficace (comme pour l 'oretografe !)
cordialement
Alain
 

dje8269

Senior Member
la relecture faite par un autre est plus efficace
Oui je suis 100% d'accord .

si tu décris précisement le but de ton programme
Ca c'est presque impossible a faire

et que tu nous le transmet on pourra surement t'aider ?
Je pense que je lasse un peu tout le monde en fait .le programme est "compliqué" disons , certainement simplifiable, certainement améliorable, je suis preneur de toute aide , pour faire un truc fonctionnel . Mais les critères sont nombreux c'est pour ca que c'est impossible a expliquer sans rien oublié , par contre je peux répondre a toutes vos questions .

Je suis sortis du cadre "jouet" , car ce projet j'ai l'obligation de le présenter avant fin Janvier. Tout du moins un truc qui tiens a peu pret la route !
 

PieM

Senior Member
Je pense que je lasse un peu tout le monde en fait .le programme est "compliqué" disons , certainement simplifiable, certainement améliorable, je suis preneur de toute aide , pour faire un truc fonctionnel . Mais les critères sont nombreux c'est pour ca que c'est impossible a expliquer sans rien oublié , par contre je peux répondre a toutes vos questions .
En résumé: je ne peux pas expliquer ce que je veux faire. parfois ça marche mais je ne sais pas pourquoi, parfois ça ne marche pas mais je ne sais pas pourquoi. Aidez moi et posez moi des questions ....
C'est à peine caricatural !

Je suis sortis du cadre "jouet"
visiblement pas en ce qui concerne la démarche. Quand on s'obstine avec une solution multimaître la plus compliquée il faut assumer.
 

PieM

Senior Member
LOL merci pour cet élan de soutien PieM !
Je crois que j'ai largement donné ma contribution dans cette affaire. Je t'ai proposé d'autres solutions. Tu n'en veux pas. Je ne vais pas repasser 10000 posts sur le sujet. Désolé. Je laisse la place.
 

dje8269

Senior Member
Je crois que j'ai largement donné ma contribution dans cette affaire
Oui ca c'est bien vrai, je ne peux pas le nier . Sans toi , la première voiture ne roulerais toujours pas ! . Et je ne te remercirais jamais assez . Alors encore merci !
 

alainav1

Senior Member
si c'est impossible de décrire ce que tu veux faire y a un gros problème !!!!!!!!!!!!!!
c'est évident que ça marchera jamais
 

dje8269

Senior Member
Je sais que je me m'exprime mal parfois ( voir souvent) . c'est pas que c'est impossible a décrire, mais si j'essaye de le faire, j'oublierais forcement un détail ; Un peu comme faire un cahier des charges . Car moi même je découvre en le faisant , c'est donc délicat . Mais je sais exactement ce que je veux faire , je sais ou aller , mais je sais pas comment faire par contre .
30 minute de conduite ce matin et aucun bug , pas un seul loupé , c'est donc dur dur de corriger , un bug qui n'arrive presque pas .
 

alainav1

Senior Member
il n'existe pas de projet sérieux sans cahier des charges
si il est incomplet il y a toujours moyen d'ajouter les manques
si tu sais exactement ce que tu veux et ou aller ecrit le (même si c'est pas parfait )
sauf évidemment si tu ne veux pas donner tes sources ?
mais un forum c'est un partage c'est pas une diode (une diode ça reçoit d'un cote et ne restitue rien )
si tu veux de l'aide je ne vois pas d'autre démarche ?
cordialement
Alain
 
Top