정의
세그먼테이션 오류는 프로그램이 접근 권한이 없는 메모리 영역에 접근하려고 할 때 운영체제가 강제로 실행을 중단시키는 오류이다.
주로 C, C++ 같은 저수준 언어에서 포인터 사용 시 발생한다.
주요 원인
| 원인 | 설명 |
| 잘못된 포인터 참조 | NULL 또는 초기화되지 않은 포인터 접근 |
| 배열 범위 초과 | 선언된 범위를 넘어선 인덱스 접근 |
| 해제된 메모리 접근 | free/delete 이후 해당 메모리 참조 |
| 스택 오버플로우 | 재귀 호출 무한 반복 등으로 스택 영역 초과 |
| 읽기 전용 영역 쓰기 | 상수 문자열 등 읽기 전용 메모리 변경 시도 |
대응 방법
- 포인터 초기화 및 유효성 검사
- 배열 인덱스 범위 점검
- 메모리 할당·해제 관리 철저
- 디버거(gdb 등) 활용하여 문제 지점 추적
'IT Tech.' 카테고리의 다른 글
| 머신러닝 학습 유형 (지도학습,비지도학습,강화학습) (4) | 2025.08.11 |
|---|---|
| 데이터베이스 정규화 (3) | 2025.08.11 |
| ANN, 오차 역전파, 경사 하강법 (0) | 2025.08.11 |
| DevOps 장단점 (1) | 2025.08.10 |
| AI 위험관리 프레임워크 (AI RMF) (2) | 2025.08.08 |