Bonjour,
J'ai un assez gros code de calcul numérique qui me fait un bon plantage. Je l'ai lancé avec gdb histoire d'en savoir un peu plus et celui ci me dit entre autre :
"*** glibc detected *** /home/nicolas/code/hyb2d/bin/001/hyb2d.exe: free(): invalid next size (normal): 0x00000000103e5790 ***"
Je me suis dit, ok ce genre d'erreur c'est classiquement un free() sur un pointeur invalide... cependant le truc étrange c'est qu'il me fait ça à la 15919e itération (qui n'a rien de plus dans son traitement que la 15918e ou la 15920e), donc je me demandais si ce message pouvait signifier autre chose ?
Comme par exemple un dépassement de tableau ou quelque chose comme ça ? En clair, quelles sont toutes les sources possibles en C pour quel mon débugueur me dise ça ?
Bien sûr il ne me dit pas a quel endroit du code c'est arrivé
J'ai tenté de lancé mon code avec valgrind pour détecter d'ou venait l'erreur, mais prenant en temp normal environ 4-5h pour arrivé au plantage, un petit calcul me donne environ 3mois pour y arriver avec valgrind vu la lenteur du bazar....
Merci d'avance pour vos pistes et bonnes fêtes de fin d'année
Partager