Stack buffer overflow和Stack overflow这两个概念有什么区别?该如何解决

Stack buffer overflow和Stack overflow这两个概念有什么区别?
学习windbg的时候发现sx命令的帮助选项:
 sbo - Stack buffer overflow - break - not handled
 sov - Stack overflow - break - not handled
这两个概念到底有什么区别?
------解决方案--------------------
A stack overflow is an error that user-mode threads can encounter. There are three possible causes for this error:

A thread uses the entire stack reserved for it. This is often caused by infinite recursion. 
A thread cannot extend the stack because the page file is maxed out, and therefore no additional pages can be committed to extend the stack. 
A thread cannot extend the stack because the system is within the brief period used to extend the page file.