segfault1 배열의 범위를 넘어서면 항상 segfault가 발생할까? int ary[10];ary[10] = 1; 이 코드는 항상 segfault를 발생시킬까?그렇다고 대답해도 절반만 맞고, 그렇지 않다고 대답해도 절반만 맞다. 일단 segfault의 정확한 정의를 정리할 필요가 있다.segfault는 segmentation fault의 준말로 잘못된 메모리 영역을 건드렸을 경우에 발생한다. 그렇다면 segmentation이란 무엇일까? 프로세스는 크게 데이터, 힙, 스택, 코드의 4가지 영역으로 나뉘는데 이 4가지 영역으로 나뉜 모양 자체를 segmentation이라고 하고(좀더 정확히는 권한에 관련되어 있다) 각각의 영역을 segment라고 부른다. segfault는 예를 들어 stack 영역에 있는 변수나 객체가 적절한 권한 없이 heap, data, code 등 .. 2025. 7. 8. 이전 1 다음