
ARM
「已注销」
这个作者很懒,什么都没留下…
展开
-
ARM_UNWIND_BACKTRACE (2)
修改点:1. 所有vrs[7]都要改成vrs[11],2. unwind_frame()/* We are done if current frame pc is equal to the virtual pc, prevent infinite loop */ if(pc == ucb.vrs[15]) { return 0; }如果C代码函数有递归调用,可能不会push pc,所以pop时pc是没有改变的,递归虽然调用的是同一个函数,但不能只认为只有一...原创 2020-12-12 17:54:15 · 701 阅读 · 0 评论 -
ARM_UNWIND_BACKTRACE
代码仓:https://codechina.youkuaiyun.com/fu851523125/arm_unwind_backtrace.git参考文章:arm上backtrace的分析与实现原理_流风回雪的博客-优快云博客2.2 unwind对于APCS来说,优点是分析起来比较简单,跟踪起来也可以很容易。缺点就是指令过多,栈消耗大,占用的寄存器也过多,比如每次调用 都必须将r11,r12,lr,pc入栈。为了解决这个问题,提出了第二种方案:使用unwind就能避免这些问题,生产指令的效率..原创 2020-12-10 16:51:24 · 3107 阅读 · 0 评论