C++栈回溯原理(C++异常排查面试题)
我们在使用VS调试源代码或使用Windbg调试exe程序时,遇到异常,调试器就会中断下来,然后就能查看到此刻的函数调用堆栈。软件是执行到某一句机器代码产生了异常,可以看成执行了某一句汇编代码产生了异常,通过一句汇编代码,是如何将所在线程此刻完整的函数调用堆栈给回溯进来的呢?下面我们就来讲讲栈回溯的原理。 要搞清楚栈回溯的原理,需要对照着函数调用时的栈分布情况来看:1、函数入口处的汇编代码 对照着上图,看一下函数入口的ebp和esp寄存器操作。...............
复制链接