logo Homepage
+  NewbieContest
|-+  Programmation» Langages compilés» [C] Problème avec un Pendu...
Username:
Password:
Pages: 1 [2]
  Imprimer  
Auteur Fil de discussion: [C] Problème avec un Pendu...  (Lu 12272 fois)
_o_
Relecteur

Profil challenge

Classement : 42/54285

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #15 le: 16 Février 2008 à 14:59:52 »

Ce que ça donne chez moi :
Code:
Program terminated with signal 8, Arithmetic exception.
#0  0x08048b38 in nombreAleatoire (nombreMot=0) at test.c:177
177         return (rand() % nombreMot);
(gdb) where
#0  0x08048b38 in nombreAleatoire (nombreMot=0) at test.c:177
#1  0x08048ba2 in PiocherMot (motSecret=0xbfdcfd08 "ABRACADABRA", dico=0x804b008) at test.c:201
#2  0x080487f1 in main () at test.c:41

On retombe dans une remarque qui t'avais déjà été faite au début : tu ouvres ton fichier à un endroit, tu le lis ailleurs, et tu le fermes encore ailleurs. C'est le meilleur moyen pour perdre le fil, et c'est ce qui arrive ici. Je te conseille de regrouper toutes les manipulations sur le fichier dans une même fonction (puisqu'il me semble qu'il ne te sert qu'à un seul endroit).
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
Edurion

Profil challenge

Classement : 11366/54285

Néophyte
*
Hors ligne Hors ligne
Messages: 13


Voir le profil
« #16 le: 16 Février 2008 à 15:10:10 »

Ok.. Mais ce que je comprends pas, c'est ce que mets le debugger: nombreAleatiore(nombreMot=0)

nombreMot n'ai pas égal à 0...

Pour le dico, je vais tout rassembler dans le mode un joueur.

Merci!

EDIT: Effectivement, tu vais raison... Le problème était bien lié au fichier...
Il faudrait que j'aprenne à lire les debugger, parce que la je n'ai pas compris grand chose.. Comment savais-tu que le problème était lié à ça?
« Dernière édition: 16 Février 2008 à 15:13:10 par Edurion » Journalisée
_o_
Relecteur

Profil challenge

Classement : 42/54285

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #17 le: 16 Février 2008 à 15:15:40 »

Ok.. Mais ce que je comprends pas, c'est ce que mets le debugger: nombreAleatiore(nombreMot=0)
nombreMot n'ai pas égal à 0...

Désolé, mais il vaut mieux croire le débugger plutôt que ce que tu penses que fait ta fonction. Il est un peu plus objectif. D'ailleurs, mon shell et ton windows sont d'accord avec lui.

Pour préciser, j'ai reproduit en demandant à jouer une deuxième fois.

Citation
Pour le dico, je vais tout rassembler dans le mode un joueur.

Ça va déjà améliorer quelques petites choses en effet. Mais pas tout. As-tu essayé de jouer avec un dictionnaire vide, par exemple ?

Citation
Il faudrait que j'aprenne à lire les debugger, parce que la je n'ai pas compris grand chose.. Comment savais-tu que le problème était lié à ça?

Tu as très bien compris le débugger : il a affiché la pile d'appel de fonction au moment du crash, avec la valeur des paramètres. C'était donc une division par zéro parce que nombreMot était nul.

Pour comprendre l'origine du problème, là, il n'y a pas de miracle, il faut essayer de se mettre à la place de la machine et retracer ce qui s'est passé. C'est pas forcément très évident (surtout quand il s'agit de son propre code, puisqu'on est persuadé que la fonction que l'on a écrite fait une chose, alors que non). Après, c'est juste une question d'habitude.
« Dernière édition: 16 Février 2008 à 15:20:11 par _o_ » Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
Edurion

Profil challenge

Classement : 11366/54285

Néophyte
*
Hors ligne Hors ligne
Messages: 13


Voir le profil
« #18 le: 16 Février 2008 à 15:20:54 »

Non pas encore^^ Mais si tu me dis de le faire, c'est qu'il doit y avoir un intêret ^^

Il faudrait donc que je vérifie si celui-ci contient effectivement au moins un mot...

Je vais voir ça! Et puis je vais voir aussi pour nombreMot... Par contre, les messages que tu as la ne m'apparaissent pas du tout... Pourtant je suis bien en [-Wall] et -g...
Journalisée
_o_
Relecteur

Profil challenge

Classement : 42/54285

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #19 le: 16 Février 2008 à 15:25:10 »

Par contre, les messages que tu as la ne m'apparaissent pas du tout... Pourtant je suis bien en [-Wall] et -g...

Oui, oui. Il te faut un débugger pour avoir ces messages là.
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
Edurion

Profil challenge

Classement : 11366/54285

Néophyte
*
Hors ligne Hors ligne
Messages: 13


Voir le profil
« #20 le: 16 Février 2008 à 15:38:24 »

Très bien!

Merci pour tout!
J'ai un peu progressé grâce à toi! Je me rends compte que c'est bien plus difficile que ce que je pensais!

Merci!
Journalisée
Pages: 1 [2]
  Imprimer  
 
Aller à: