comment afficher les differentes etapes ?

comment afficher les differentes etapes ? - C - Programmation

Marsh Posté le 17-12-2003 à 17:43:25    

J'imagine que la fonction que je cherche existe (sinon il faut tout de suite la créer ) .
 
Voila , j'ai ecris un petit programme et bien evidement y a des erreurs de programmation , alors pour tester voir ou ça plante , j'implante des printf"entrée dans telle fonctions " ); un peu partout .. mais apres fo les effacer , et c'est fastidieux .
 
alors je me demandais , si par hazard il existait pas une fonction qui faisait ça tres bien ? Bien entendu qqch de plus basique , genre qui indique simplement un n° ? et pis apre c'est facil a effacer avec une commande effacer tous les marqueurs ?
 
J'espere que au moins qqn aura compris de quoi je veuc parler , parceque ça m'a expliqué comme ça c'est pas tres claire ...
 

Reply

Marsh Posté le 17-12-2003 à 17:43:25   

Reply

Marsh Posté le 17-12-2003 à 17:58:09    

un debuggeur -> unix -> gdb
 
gcc -ggdb

Reply

Marsh Posté le 17-12-2003 à 18:52:43    

je crainds de n'avoir par compri ta reponse .. je ne cherche pas un debogueur , je cherche une fonction qui installe des signets dans le code source et que ces signets s'affichent lors de l'execution du programme ...parceque le programme compile bien  , mais c'est la conception qu'est fausse .

Reply

Marsh Posté le 17-12-2003 à 18:57:27    

un deboggeur fais ça très bien, ça s'appelle des break-points

Reply

Marsh Posté le 17-12-2003 à 20:00:30    

sinon tu peux aussi encadrer tes printf de directives de compilation conditionnelles ( #ifdef DEBUG ... #endif )

Reply

Marsh Posté le 17-12-2003 à 20:01:30    

aloo a écrit :

je ne cherche pas un debogueur [...] parceque le programme compile bien  , mais c'est la conception qu'est fausse .


 
Mais c'est justement a ca que sert un debugger!   :p

Reply

Marsh Posté le 17-12-2003 à 21:21:19    

bo, ,alors , comment on fait les break point ????

Reply

Marsh Posté le 17-12-2003 à 21:25:23    

avec un ide et un compilateur intégré (enfin, pour pas se faire chier)

Reply

Marsh Posté le 17-12-2003 à 22:10:43    

gbd pour les puristes,les IDE c pour les endiccapais :p

Reply

Marsh Posté le 17-12-2003 à 22:36:47    

gbd pour les masos, et les IDE pour les humains.
 
Sinon, tu peux aussi laisser planter ton programme et éplucher le core.dump :D

Reply

Marsh Posté le 17-12-2003 à 22:36:47   

Reply

Marsh Posté le 17-12-2003 à 22:39:52    

ddd
voir le sujet sur les logiciels gratuits

Reply

Marsh Posté le 18-12-2003 à 00:18:18    

hm .. moi je suis un handicapé severe, qui ne demande qu'a apprendre et qui ne dispose pour cela que des ses cours de la fac . (la vue des pavés sur l'informatiques me donnant de tels hauts le coeur que mon medecin me les deconseils fortement ) .
Alors si qqn pouvait traduire ce qu'est IDE par exemple ça m'eclairerait peut etre un peu plus ... (parceque pour moi , IDE ça s'arrette aux nappes ).
 
et Magic Buzz je ne sais pas si ce qu'eplucher le core.dump, mais ce que je fait pour l'instant c'est justement laisser planter mon programme , et en mettant des printf("entrée ici " ) dans chaque fonction je remonte jusqu'a la source de l'erreur ...  
 
Inutil de preciser que ça dure une eterniter pour trouver l'erreur ... (le plus sympa c'est de passer une heure pour se rendre compte qu'il manque qqn comme un point ou bien que j'ai inversé  deux lettres .... )  
 
que du bonheur.

Reply

Marsh Posté le 18-12-2003 à 00:50:06    

IDE : Integrated Developement Environment
 
Il s'agit du package GUI (Graphic User Interface) + compilateur + débugueur + une série d'outils
 
Visual C++ est une IDE par exemple, au même titre que Borland C++. Sous nux je connais pas les produits, mais ça doit exister.
 
En fait, une IDE devrait te permettre de compiler ton code, puis l'éxécuter à partir de l'IDE en mettant des breakpoint directement dans le source de ton code (un petit click dans la marge devant une instruction et la ligne passe en rouge par exemple. Lorsque tu éxécutes ton programme depuis l'IDE, il va s'arrêter à cette ligne, et tu pourras regarder le contenu des différents éléments (valeurs des variables, etc.) à cet instant précis.
 
Bon, je suis pas familié avec le C/C++, et je pense que c'est plus limité que VB et C# à ce niveau (qui permettent d'éxécuter le programme en interpreté, donc pas à pas, ce qui est génial pour débugguer).
 
Sorti de ça, sous X-like, lorsqu'un programme plante, le système génère un fichier nommé "core.dump", qui contient les informations suivantes :
- Code actif du noyau au moment du plantage
- Code actif du programme au moment du plantage
- Informations contenues dans la zone mémoire de travail du programme au moment du plantage
- Valeurs des registres et flags du processeur
 
A peut de choses près.
 
Donc pour les masos qui savent lire l'hexa courament, il peuvent analyser ces informations afin de retrouver la raison de l'erreur.
 
Sous Windows XP quand un programme plante par exemple, il te propose d'envoyer les informations relatives au plantage à M$ afin qu'ils corrigent le bug. C'est rigoureusement ces informations qui sont transmises (état du systèmes, valeurs des registres, partie active du programme, et zone de travail du programme). Ainsi, quand t'as un soft style PhotoShop qui plante lors du traîtement d'une image de 200 Mo, bah tu passes 3 heures à envoyer 200 Mo de code inutile à M$ :D


Message édité par MagicBuzz le 18-12-2003 à 00:53:19
Reply

Marsh Posté le 18-12-2003 à 00:51:23    

Sinon, généralement, quand il manque un point ou que t'as inversé deux lettres, généralement ça compile pas, c'est plus rapide à débugger :D

Reply

Marsh Posté le 18-12-2003 à 02:58:59    

aloo a écrit :

hm .. moi je suis un handicapé severe, qui ne demande qu'a apprendre et qui ne dispose pour cela que des ses cours de la fac . (la vue des pavés sur l'informatiques me donnant de tels hauts le coeur que mon medecin me les deconseils fortement ) .
Alors si qqn pouvait traduire ce qu'est IDE par exemple ça m'eclairerait peut etre un peu plus ... (parceque pour moi , IDE ça s'arrette aux nappes ).
 
et Magic Buzz je ne sais pas si ce qu'eplucher le core.dump, mais ce que je fait pour l'instant c'est justement laisser planter mon programme , et en mettant des printf("entrée ici " ) dans chaque fonction je remonte jusqu'a la source de l'erreur ...  
 
Inutil de preciser que ça dure une eterniter pour trouver l'erreur ... (le plus sympa c'est de passer une heure pour se rendre compte qu'il manque qqn comme un point ou bien que j'ai inversé  deux lettres .... )  
 
que du bonheur.


1) Tu compiles sur quelle plateforme?
2) en utilisant quel compilo?
Avec ces données, on pourra t'en dire plus.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 24-12-2003 à 02:27:24    

je compille avec le compilateur de base , gcc livré avec linux (g une mandrake) .
je travaille en c.
Le truc dont parle magic buzz avec ces ptits clicotis dans la marqe c'est exactement ce que je cherche . c genial ça . ça devrait etre de base sur tous les editeurs de texte pour programmation .
mais meme en remontant a la source du pb j'arrive tjs pas a debuguer ...(voir le topic que je vais poster dans ..pff 5 min a tout casser ) .

Reply

Marsh Posté le 24-12-2003 à 03:52:00    

si tu sais utiliser emacs, il y a moyen de voir le code dans une fenetre emacs et d'executer gdb dans une autre.  
Pis il y a surement des equivalents a l'interface VC sous unix (moi j'ai l'habitude des commandes gdb ou dbx dans une console sous unix).
Apprends a utiliser gdb et tu n'auras plus besoin de tes fameux printf en tout cas.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 24-12-2003 à 08:53:21    

surotut qu'en C, tu peux avoir des effets de bords avec les printf (:D)
 
 
Genre, avec tes printf pour debug, ca marche; tu vires tes printfs, caplante :D

Reply

Marsh Posté le 26-12-2003 à 15:30:37    

oui , bas mar toi toxicavenger parceque ça m'arrive ...
c koi ça les effets de bords ?

Reply

Marsh Posté le 26-12-2003 à 20:37:44    

Aloo a écrit :

oui , bas mar toi toxicavenger parceque ça m'arrive ...
c koi ça les effets de bords ?


 
C'est des effets non prévus (et surtout non désirés).
 
Un peu comme le 2nd effet Kiss Kool... [:eleonor]

Reply

Marsh Posté le 26-12-2003 à 22:41:27    

lol
et y a pas un moyen pour les eviter ?

Reply

Marsh Posté le 26-12-2003 à 23:59:20    

Aloo a écrit :

oui , bas mar toi toxicavenger parceque ça m'arrive ...
c koi ça les effets de bords ?


 
http://www.linux-france.org/prj/ja [...] _bord.html

Reply

Marsh Posté le 27-12-2003 à 00:05:56    

Aloo a écrit :

lol
et y a pas un moyen pour les eviter ?


 
arreter la programmation?  :sarcastic:


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 27-12-2003 à 00:06:47    

Aloo a écrit :


et y a pas un moyen pour les eviter ?


 
Ne pas faire d'erreurs [:ddr555]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed