针对main函数的运行时stack的分析
这里需要特殊说明的是运行环境是64-bits的Ubuntu.编译器是gcc
测试用代码:
int main(int argc,char* argv[]) { int array[10]; array[0] = 10; array[9] = 9; return 0; }
利用GDB调试这段代码。我们来观察分析main函数的栈
分析&argc 和&argv可以知道当前main函数栈的使用情况
64bits 的机器。指针长度是64bits,即8byte.
由于字节对其的缘故,这里stack的运行时状态是这样的
提示: 如果%rbp 被破坏,那么将导致call main无法返回,接着core dump
这篇blog意在为后面的CSAPP lab0做铺垫~
http://blog.csdn.net/cinmyheart/article/details/39138915
时间: 2024-10-09 03:22:47