J'aimerais juste savoir d'où peut provenir un plantage "aléatoire dans le temps" dans un programme.
Je m'explique : je ne rencontre aucun problème durant l'exécution du programme mais parfois, en plein milieu (pas réussi à trouvé quand exactement^^) le programme se bloque et on ne peut plus rien faire (comme une boucle infinie), aucun message d'erreur et les niveau de gris sont toujours la ! Le problème est que ca peut arriver au bout de quelques secondes, mais des fois après 30 minutes, il n'a toujours pas planté !
Alors quel type de bug est-ce ?
Je suppose un dépassement de mémoire, mais je vois pas où...
Est-ce qu'il peut y avoir un autre type de bug ?
Jyaif Le 23/09/2006 à 22:45 ça peut venir d'une variable non initialisée (je parle d'expérience).
Zeph Le 24/09/2006 à 03:13 ça peut venir de pas mal de choses, mais c'est très souvent un problème de dépassement de mémoire en effet :/

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
(et accesoirement c'est assez normal que les NVG soit tjrs actifs)

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Ben ça dépend de la nature du plantage...

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Je compile bien en -Wall -W. (options de base de tigcc)
J'ai juste une question : si on ajoute 1, à un unsigned int initialisé à 0, en permanence, arrivé à 65535 la valeur d'après est 0 ?
Ou ca peut provoquer une erreur ?
la valeur d'après est 0, c'est garanti ^^ (par contre pour les int signés c'est différent, en principe t'as pas le droit d'ajouter 1 à 32767 -- mais en pratique sur TI les compilateurs font comme si t'avais le droit de le faire)
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Tu veux dire que dans d'autres environnements des tests sont mis en place pour éviter ce problème ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Pour ça il faut que le CPU ai des opération sur des nombres signé

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Pour mon problème c'est surement un problème de dépassement de mémoire puisque j'ai des problèmes à l'affichage (pixels mauvais) !
Reste plus qu'a trouver où!!!
Jyaif Le 26/09/2006 à 17:23 un peu hs: ya moyen d'avoir des warnings quand on initialise pas tous les champs d'une structure ?
#14: je pense que non, ça me parais difficile..
#12: ha oui ça m'avais échapé dans le post

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Un certain nombre de warnings "fines" ne sont pas dans -W -Wall... mais si le code est fait d'une certaine façon, l'activation de certaines warnings donne un flot monstrueux de warnings...
et avec -pedantic ? (après avoir purgé les warnings qui viennetn des .h)
Le -pedantic n'est pas supporté par TIGCC ^^
Oui ^^
En fait ce bug est présent depuis la version 0.6, soit avril 2004 !
J'ai mis plus de 2 ans à m'en rendre compte et à le trouver^^
Je suis peut-être rouillé, mais pour ma culture personnelle, TIGCC peut donne des warning lorsqu'il y a possibilité de 'buffer underrun' ?
Je demande ça parce que je vois mal comment il peut le détecter à la compilation.
Zeph Le 11/10/2006 à 21:54 heu pas à ma connaissance non (si ça existait, ça ne marcherait que dans très peu de cas, donc pas interessant)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
non et théoriquement il ne peut meme pas dans de tel cas, sauf si ton code est uniquement :
void main()
{
int a[5];
a[6] = 6;
}

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
C'est bien les limitations que j'avais en tête.