1

Je voulais savoir d'ou pouvait provenir une erreur de segmentation, mais seulement quand on quitte le programme...
Cours et tutos Asm: http://membres.lycos.fr/sirryl

2

pbm de free ?
avatar
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.

3

Tu as du dans un espace memoire non reservé a un moment ou a un autre même si ca n'a pas provoqué immédiatement l'erreur.
avatar

4

Peut-être un "double free"? Vérifie que tu libères tes blocs alloués une et une seule fois.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

kevin> dans le cas ou t'essaye de freer un bloc deja free, en general il y a un warning dans la console du genre junk pointer, too low to make sense (entre autres)

paxal> tu as possibilite d'utiliser gdb?

et comme a dit uther, ca vient uniquement du fait que t'as essaye de lire/ecrire dans un espace qui n'est pas a toi (merci mmu)
ca peut etre une boucle qui va trop loin, comme un pointeur foireux, comme essayer d'ecrire dans une zone pas malloc ou deja free, etc...
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

6

sBibi
a écrit : kevin> dans le cas ou t'essaye de freer un bloc deja free, en general il y a un warning dans la console du genre junk pointer, too low to make sense (entre autres)

Mais le "too low to make sense", c'est seulement si tu l'as mis à NULL après le premier free, n'est-ce pas?
paxal> tu as possibilite d'utiliser gdb?

Tiens, bon conseil celui-là.
Mais je conseillerais plutôt d'utiliser une interface graphique à GDB (Insight par exemple). La console, ce n'est pas très pratique pour déboguer.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

Kevin Kofler a écrit :
Mais le "too low to make sense", c'est seulement si tu l'as mis à NULL après le premier free, n'est-ce pas?


ct un exemple parmi d'autres, c'est le premier qui m'est venu a l'esprit c tt...
Tiens, bon conseil celui-là.


soit disant les autres c de la merde triso
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

8

rotfl
Ce n'est pas ce que je voulais dire... roll
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Bah en fait, j'ai essayer les deux cas: je free, je free pas.
Dans les deux cas y a des erreurs.

J'ai utilisé gdb (sous RH 8.0 et sous win), mais en fait mon prog fait un printf puis un return (quand je mets as les free) et ca plante après le printf (ou après les frees). Et sur Windows, il ne me met pas d'erreur.
Je vais mettre le code en ligne si vous voulez, mais il est plutot long.

http://membres.lycos.fr/sirryl/beta/rpl.c

Et désolé si je peux pas intervenir pdt la journée, SIGEM oblige...
Cours et tutos Asm: http://membres.lycos.fr/sirryl

10

Pas étonnant que ça ne marche pas! Tu fais un scanf dans le vide! Initialise s!!!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

11

ah? et comment?.

s = (char*) malloc(n)?
Cours et tutos Asm: http://membres.lycos.fr/sirryl

12

D'ailleur d'ou l'un des nombreux interet d'utiliser lex et yacc wink on a plus a s'occuper de tt sa wink

Non blague a pars, faire un lexeur et un analyseur gramatical est un tres bon exercice smile
avatar
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.

13

paxal a écrit :
ah? et comment?.
s = (char*) malloc(n)?

Oui, par exemple. Mais je te conseille plutôt de mettre:
char s[1234]
et de changer %s en %1233s, pour éviter les débordements (sinon -> plantage).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

ok, pour lire bloc par bloc... bon dans mon cas un malloc(n) suffira!
Cours et tutos Asm: http://membres.lycos.fr/sirryl

15

Bon maintenant ca marche, merci smile
Cours et tutos Asm: http://membres.lycos.fr/sirryl

16

paxal
a écrit : ok, pour lire bloc par bloc... bon dans mon cas un malloc(n) suffira!

Et si tu ne spécifies pas de taille maximale au %s, tu viens de créer un risque de sécurité! On ne doit pas permettre à l'utilisateur de déborder d'un buffer!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

17

bah a priori il y aura plein d'espaces, et moi je m'arrete dès que je vois tous les caractères qui sont passés. Et dans mon cas, en fait, on suppose que l'utilisateur ne se trompe jamais.
Cours et tutos Asm: http://membres.lycos.fr/sirryl

18

moue... avec des scanf comme ca l'utilisateur peut aller modifier la valeur dans la pile qui sera depilee et mise dans le pc quand la fonction quittera avec ret... pas super smile
si possible essaye qd meme de faire comme a dit kevin smile
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

19

bah c'est un programme qui ne fait qu'executer une ligne de commande... Il fait une fois qu'il a tout.
Cours et tutos Asm: http://membres.lycos.fr/sirryl