Limiter les risques d’erreurs de segmentation

Problème

Pour stabiliser votre programme, vous souhaitez connaître quelques règles de programmation qui permettent d’éviter des erreurs de segmentation (segmentation fault).

Solution

Il n’existe pas de solution à proprement dire, mais seulement des règles de programmation qui, lorsque nous les suivons, réduisent les risques d’erreurs de segmentation. Parmi ces règles, celles qui consistent à vérifier l’utilisation des fonctions et à maîtriser les données utilisées sont probablement les plus importantes. 

Discussion

Qu’est-ce qu’une erreur de segmentation ? La mémoire d’un ordinateur est segmentée et lors de l’allocation de mémoire à un programme, le système d’exploitation lui réserve un espace sur un certain nombre de segments. Si ce programme tente d’accéder à de la mémoire qui ne lui a pas été réservée, sur d’autres segments, il s’agit d’une faute de segmentation que le système détecte. Il réagit en envoyant un signal qui, par défaut, provoque l’arrêt du programme (voyez le chapitre "Signaux" pour en savoir plus).

Voici quelques règles de programmation que vous pouvez suivre systématiquement afin de diminuer les risques d’erreurs de segmentation.

De l’utilisation...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Retarder l'arrêt intempestif d'un programme pour sauvegarder des données
Suivant
Écrire du code réutilisable