软件调试笔记36 - 栈和函数调用: 变量检查和Cookie

变量检查原理: 1. 在分配局部变量时编译器会为每个局部变量多分配8个字节的额外空间(前后各4个),用作屏障字段,在填充局部变量区域时,这些屏障字段以及变量尾部的因为内存对齐而分配的补足字节都会被INT3的机器码0xCC所填充。这些0XCC字节称为栅栏字节。 2. 为了在运行期仍能够准确知道每个变量的长度,位置和名称,编译器会产生一个变量描述表,用来记录局部变量的详细信息。 3. 在函数返回前,调
相关文章
相关标签/搜索