博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
frame pointer及其用途
阅读量:7026 次
发布时间:2019-06-28

本文共 377 字,大约阅读时间需要 1 分钟。

1 什么是frame pointer

 frame pointer指向本函数栈帧顶,通过它可以找到本函数在进程栈中的位置。有专门的寄存器保存该值。

2 frame pointer有什么用

 主要是backtrace用,每个函数的frame pointer保存在其后调用的函数的栈帧中。因此可以得到调用层级里面的每个函数的栈帧,从而可以打印出back trace。

3 程序执行的过程中为什么可以不要frame pointer

在汇编层面的每个函数自己内部就完成了push和pop栈的操作,每个函数知道自己所使用的这段栈的栈结构,在开始执行的时候把变量和常用寄存器push进去,在执行完了后,pop出来。因此程序执行过程中是不需要frame pointer的。

 

转载于:https://www.cnblogs.com/hustdc/p/7631370.html

你可能感兴趣的文章
GCC Stack-Smashing Protector
查看>>
虚拟机Visualbox安装Ubuntu Server
查看>>
用带余除法可以解决一切部分分式的题目
查看>>
vs 生成事件
查看>>
ES6语法
查看>>
universal image loader
查看>>
2017年西南民族大学程序设计竞赛-网络同步赛
查看>>
AbstractCollection源码分析
查看>>
JQuery图表插件——Highcharts
查看>>
python数据可视化
查看>>
JSP代码执行顺序
查看>>
SQL Server-聚焦SNAPSHOT基于行版本隔离级别详解(三十)
查看>>
消除一个数组中重复的元素
查看>>
Asp.net中使用资源文件实现网站多语言
查看>>
JavaScript(2)
查看>>
Apache Tomcat6 之连接器学习整理(1)
查看>>
winedt打开.tex文件时会出现reading error,看不到任何文字
查看>>
Myeclipse配置jad
查看>>
mac下搭建MySql环境
查看>>
第六周周记
查看>>