首页 > 代码库 > 针对main函数的运行时stack的分析

针对main函数的运行时stack的分析

针对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






针对main函数的运行时stack的分析