|
|
Auteur
|
Message
|
1
|
Vive la bière allemande
|
|
|
salut
j'ai un probleme assez chiant et surtout inexplicable, au moins pour moi. Deja, c'est une seg fault et donc c'est chiant à trouver, mais j'ai réussi à localiser la cause de la seg fault, et c'est ca qui est étrange :
j'ai une classe Neurone, avec des paramètres publics et privés et des fonctions publiques. La, je compile, j'execute, tout fonctionne. Je décide de rajouter un paramètre privé "int abcdefg" à la classe, je compile, j'éxécute et hop ! seg fault. Pourtant, je n'utilise cette variable nulle part ailleurs dans mon programme... C'est valable aussi pour d'autres noms de variable aussi bizzares, ou plus courts, et pour d'autres types (float au moins).
Par contre dès que je commente la déclaration de l'entier ou du float, je compile, et ca seg fault pas.
Vous avez une idée ?
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
|
|
ex-deus
|
|
|
|
bah la comme ca non, si il est pas trop gros, envois tj le code.
|
|
Vive la bière allemande
|
|
|
|
je l'enverrai quand je repasserai sous linux, mais il est un peu long. J'enverrai juste la partie qui concerne l'erreur, mais vu que je me sers jamais de la variable que je declare dans le programme...
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
|
|
|
|
|
lance gdb, sous emacs M-X gdb puis le nom de l'executable et une fois dedans run (le nom de tes arguments si tu en as) . apres qu'il t'ait trouver la segfault tu fais un bt (backtrace) et il te dit ou est le probleme...
Mais a vu d'oeil tu dois mal allouer un truc
|
|
Vive la bière allemande
|
|
|
j'ai réussi à contrer la seg fault, mais j'ai juste eu à enlever deux parenthèses qui étaient inutiles...
maintenant j'ai à nouveau une seg fault suite à une plus grosse modif, mais c'est chiant quand meme.
Je vais essayer de trouver de la doc sur le debugger
|
|
Vive la bière allemande
|
|
|
j'allais ecrire un nouveau message pour demander de l'aide mais en fait j'ai trouvé la source de l'erreur tout seul
|
|
Vive la bière allemande
|
|
|
et ben en fait j'ai encore le meme probleme :D
j'ai juste rajouté un entier "int decalage;" dans une classe et pof, seg fault.
la seg fault vient de la ligne
[cpp]entier+=reseau[id_reseau].couche;[/cpp]
il ne peut pas accèder à reseau[id_reseau].couche
si je fais p reseau[id_reseau], il me sort entre autres couche= 0x3. Il faut noter que couche est public dans la classe Reseau.
vous avez des idées ?
|
|
Vive la bière allemande
|
|
|
Zplay a écrit :
c'était quoi ce coup-ci?
j'ai inversé deux noms de variables donc la variable donc je devais me servir pour désigner l'element d'un tableau valait un truc style 1484857. Ca aide pas quand on a des tableaux à 15 éléments.
|
|
Manque d'energie ?!
|
|
|
|
J'ai pas d'idees car je commence le c++, mais essayes vraiment le debugger, car tu gagnes beaucoup de temps.
|
|
1
|