Arm64栈回溯 结构介绍

arm64有4种栈,分别是空增栈(empty ascendant stack,ea)、空减栈(empty descendant stack,ed)、满增栈(full ascendant stack,fa)、满减栈(full descendant stack,fd)。常用的是满减栈,linux内核也使用满减栈。
下图是一个满减栈的示意图,高地址为栈顶,低地址为栈低,栈向低地址方向生长,如右边的箭头所示。栈指针sp指向栈底(栈低保存了数据)。
每产生一次函数调用,就会在栈中形成一个栈帧,该栈总共保存了4个栈帧(stack frame),每个栈帧由fp、lr及栈参数(函数参数、函数局部变量等)组成。可以将栈中的所有栈帧视为一个单项链表,栈最低位置的栈帧为链表头,栈最高位置的栈帧为链表尾,整个链表使用fp索引。
栈手动回溯时,可以根据fp将所有栈帧索引出来。

新基建时代到来,智慧路灯发展迎来机遇
哈啰出行升级智慧运营系统,加速车辆调度
关于数据对汽车互联未来的分析和介绍
关于超级电容器的原理及其应用的介绍
中美半导体巨头重磅和解 美光和福建晋华达成全球和解协议
Arm64栈回溯 结构介绍
HSDPA打造移动宽带的高速引擎
一文详解自力式压力调节阀
三星Note8本月发布日期确定 可能是最贵的三星曲面屏手机
新加坡电信计划开始引入5G网络
Dirac与ADI深化合作,树立高端车载音频新标杆
历史上第一个聊天机器人Eliza:仅仅只有200行代码
iOS 10功能大曝光 4S以下的iPhone都要被抛弃?
智能制造的优势体现在哪些方面
vivox20什么时候上市?vivo x20本月20日发布:告别高价低配,配置、代言人、价格都有惊喜
苹果申请无线充电新专利,支持电子设备被放置其上时进行自动充电
低压电阻柜的原理以及检修方法
智能电表的概念及工作原理
人工智能摄像头能为超市干什么
净利劲增95.2%,耐威科技的MEMS进击之路