117 votes

Qu’est-ce qui cause un SIGSEGV

J’ai besoin de connaître la cause première du défaut de segmentation (SIGSEGV) et comment le gérer.

130voto

Chris Lutz Points 34157

Wikipédia a la réponse, ainsi qu’un certain nombre d’autres sources.

Un segfault signifie essentiellement que vous avez fait quelque chose de mal avec des pointeurs. Il s’agit probablement d’un segfault :

Ou ceci :

Ou peut-être ceci:

Même principe de base dans chaque cas - vous faites quelque chose avec une mémoire qui n’est pas la vôtre.

7voto

MichaelM Points 1341

vous utilisez un pointeur non valide/nul ? Dépassement des limites d’un tableau ? Un peu difficile d’être précis sans aucun exemple de code.

Essentiellement, vous essayez d’accéder à la mémoire qui n’appartient pas à votre programme, de sorte que le système d’exploitation le tue.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X