segmentation fault : cause possible, que faire avant de poster un message sur Discourse ou psoer la question aux assistants ?

segmentation fault : cause possible, que faire avant de poster un message sur Discourse ou psoer la question aux assistants ?

by Ronan Boulic -
Number of replies: 0

1) cause possible : J'ai remarqué une cause fréquente de segmentation fault: faire une demande de dessin dont l'appel est en dehors de la méthode on_draw(). Par exemple au lancement du programme, pendant la lecture de fichier ou juste après, avant de lancer la méthode run.

=> L'appel qui fait une demande le dessin doit avoir sa source dans la méthode on_draw()

Autres conseils:

=> si pour le rendu2 votre instance de Simulation était dans projet.cc, elle doit maintenant être dans le unnamed namespace de gui.cc pour que les signal_handlers de Gui puisse l'utiliser. Bien sûr, c'est aussi possible que Simulation soit un attribut de Gui ou qu'elle soit cachée dans le module simulation.

=> si votre programme reçoit un nom de fichier en argument, c'est à l'instance de Gui qu'il faut passer cette chaîne de caractères pour lancer la lecture du fichier.

2) Que faire avant de poster un nouveau topic sur Discourse ou avant de poser la question aux assistants à cause d'un seg fault ?

D'abord, suivre les conseils d'utilisation de GDB décrits ici :

https://moodlearchive.epfl.ch/2020-2021/mod/resource/view.php?id=1140095

en résumé: compiler avec l'option -g puis lancer gdb, puis lancer l'exécution jusqu'au seg fault et ensuite exécuter la commande bt (comme backtrace) dans gdb.

Faites une capture d'écran de ce qui est affiché par cette commande bt car cette information est précieuse pour nous aider à vous aider à localiser la cause du problème.