본문 바로가기
IT/C

segmentation fault 에러

by 성준하이 2024. 4. 9.
반응형

C 개발 중에 segmentation fault 관련 에러가 발생했다.

원인은 잘못된 메모리 참조 때문에 발생한 것이다.

 

좀더 자세하게 설명하면

  • 어떤 프로그램이 자신이 운영체제로부터 배정 받지 못한 영역(메모리)에 대해 침범하는 것을 운영체제 수준에서 막아주는 것.
  • 허용되지 않은 방법으로 메모리에 접근할 때, 허용되지 않은 메모리 영역에 접근할 때 발생해서 사용자가 메모리를 오염시키는 걸 막아주고, 디버깅하기 힘든 메모리 버그를 알려주는 역할.

등의 설명이다.

 

발생할수 있는 의심되는 원인들은 아래와 같다.

 

  1. null 값을 가리키는 포인터에 접근할 경우
  2. 할당 받은 메모리 공간을 넘은 곳을 건드린 경우
  3. 더 이상 존재하지 않는 메모리 영역을 가리킬 경우
  4. read-only 표시 메모리 영역에 쓰려고 할 경우

 

결국 세그먼트 오류가 발생하면 참조가 잘못되었을 확률이 높아 포인터 쪽을 집중해서 확인하면 될것이다.

반응형

댓글