본문 바로가기
컴퓨터공학

Stack Overflow

by 무에서 2017. 8. 4.
반응형

Stack은 지역변수가 저장되는 메모리 공간이다. 원래 Stack자료 구조의 한 종류이고 CPU에서 Stack을 지원한다. 대부분의 프로그램은 Stack에 지역변수를 저장한다. Stack은 보통 메모리 상위 주소에서 하위 주소로 증가하며 데이터를 저장한다.

 

지역변수가 너무 많으면 사전에 약속한 Stack 영역을 넘는 경우가 발생할 수 있고 이러한 현상을 Stack Overflow라고 한다.

 

MS Visual C++에서는 프로그램 컴파일 또는 실행 중 이러한 Stack Overflow를 감지하여 에러 메세지를 출력한다. 하지만, 임베디드 시스템에서는 이러한 경고 없이 메모리가 깨짐으로써 시스템이 이상 동작을 한다. Stack Overflow는 매우 찾기가 어려운 버그이다.

 

2009년 발생한 도요타 렉서스 자동차의 급발진 원인이 Stack Overflow 때문이었다.

반응형

댓글