Segmentation fault (SIGSEGV) :
- OS가 프로그램 에러를 발견하고 더 이상 실행할 수 없을 때 생기는 에러
- Signal 11
- Segmentation Violation의 준말
원인:
- 수행하는 프로그램이 할당 된 메모리 밖을 참조하려 하거나 read only memory에 값을 쓰려고 할 때 발생
예제:
- uninitialized pointer를 사용했을 때
- Null Pointer를 de- referencing했을 때
- 해당 프로그램 범위 밖의 memory를 참조하려 할 때 (array의 out of bounds 같은 맥락)
- de-allocated된 메모리를 참조하려 할 때
Bus Error (SIGBUS):
- Signal 10
- Bus Error 준말
원인:
- 해당 프로그램이 참조하려는 메모리 주소가 제대로된 주소가 아닐 때 발생
예제:
- 해당 프로그램이 CPU 한테 메모리에 값을 쓰라고 하는데 그 주소가 존재하지 않을 때 에러 발생
추가할것이 생기면 더 추가할게요.
'기본' 카테고리의 다른 글
[우분투 18.04] 블루투스 설정하기 (0) | 2021.03.24 |
---|---|
[Git] 깃 기초 및 관리하는 방법 (0) | 2019.11.01 |