Si votre programme présente une erreur de segmentation (segmentation
violation ou ``segfault''), un fichier core
sera écrit dans le répertoire courant. On l'appelle en anglais un
core dump (vidange du contenu mémoire). Ce dernier est produit
par une bogue du programme en réponse à un signal SIGSEGV
envoyé au programme parce qu'il tente d'accéder à une partie de la
mémoire en dehors de la zone autorisée. Ces fichiers peuvent être
examinés en utilisant gdb pour révéler
(ce qui est la pratique usuelle) où un problème s'est produit. Exécutez
simplement gdb <nom_exécutable> ./core
et alors tapez bt (ou tout autre commande
gdb) derrière l'invite de gdb.
Si vous saisissez fichier ./core, vous
obtiendrez un message similaire à ceci:
/root/core: ELF 32-bit LSB core
file of '<executable>' (signal 11), Intel 80386, version 1
|