본문 바로가기
Web Programming/이론 공부

스택 오버플로우(Stack Overflow) 원인과 해결 방법

by jaey0ng 2022. 10. 31.

스택 오버플로우(Stack Overflow) 란?

Stack Overflow는 Stack 영역의 메모리가 지정된 범위를 넘어갈 때 발생한다.

 

물질적으로 예시를 든다면

물 500mL를 채울 수 있는 컵이 있는데 100mL씩 6번 이상을 넣게 되면 스택 오버플로우가 발생된다.

 

 

Stack Overflow가 발생할 때 해결하는 방법

  • Stack 영역의 크기를 늘리거나
  • 지역변수의 크기를 줄이거나
  • 지역변수를 전역변수로 바꾸면 해결할 수 있다.

 

주의사항

PC 컴파일러에서는 디버깅 모드에서 Stack Overflow가 발생하면 Stack Overflow 에러 메세지를 출력해주지만,

임베디드 시스템에서는 Stack Overflow 에러 메세지가 출력되지 않고 이상 동작하는 경우가 많으므로 주의해야한다.