Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Kernel mode 에서 정해진 Stack 보다 많은 Stack 을 사용하면 System 이 Crash 됩니다. 즉 x86 에서 12kb 의 kernel stack 보다 많은 메모리를 사용하려고 하면 Bugcheck 0x7F 가 발생하면서 System 이 Crash 됩니다. (12kb 의 영역 이후의 한 Page 가 접근할 수 없는 메모리로 설정되어 있습니다.)
User mode 에서도 마찬가지로 Stack overflow 가 발생할 수 있습니다.
Stack overflow - code c00000fd
이 값을 가지고 검색을 해보니 아래와 같은 좋은 글을 발견할 수 있었습니다.
Stack Overflow에 대한 Debugging
https://byung.egloos.com/4809522
그리고 MSDN 에 다음과 같이 설명이 되어 있네요
Debugging a Stack Overflow
https://msdn.microsoft.com/en-us/library/cc267849.aspx
이 문제 발생 시 TIB 에서 StackBase 와 StackLimt 값을 확인하고 StackLimt 을 시작으로 해서 Stack 을 확인해 보면 보통 Stack overflow 또는 재귀호출 또는 비 정상적으로 큰 Local 변수 할당 등의 문제가 나올 수 있을 것 같습니다.
Kernel mode 만 하다가 간만에 User mode 를 볼 수 있는 신선한 경험이었습니다.
Comments
- Anonymous
April 16, 2009
The comment has been removed