栈溢出(Stack Overflow)的常见原因?如何检测和避免?