Chinaunix首页 | 论坛 | 认证专区 | 博客
  • 博客访问: 167966
  • 博文数量: 23
  • 博客积分: 186
  • 博客等级: 入伍新兵
  • 技术积分: 1051
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-12 19:54
文章存档

2018年(1)

2013年(13)

2012年(9)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

发布时间:2013-08-31 20:12:57

要想详细了解你的Linux系统,为系统评估和性能调化提供准确的信息,那么,你会经常用到这几组命令。......【阅读全文】

阅读(5273) | 评论(0) | 转发(9)

发布时间:2013-06-07 22:33:24

通过一个简单实用的程序实例和调试过程,打印出变量和代码在内存中的分配位置,分析x86架构CPU下程序运行时汇编级指令的表现,并推导出各级调用函数的栈帧内存布局。......【阅读全文】

阅读(3314) | 评论(1) | 转发(2)

发布时间:2013-05-13 22:21:24

一个函数通常会定义一些局部变量,我们知道这些局部变量是在当前函数的栈帧上来分配,那么栈上变量的分配顺序,是不是跟局部变量的定义顺序一样呢?一次偶然的coredump,证明了至少在x86中未必如此。......【阅读全文】

阅读(2268) | 评论(1) | 转发(2)

发布时间:2013-01-27 12:55:16

出现异常的可能原因是exec file的symbol不存在或不匹配。根据之前对x86栈帧布局图的分析,bp-ra(即栈帧基址-返回地址)必定在栈帧顶端的固定位置,可以利用这个分布特点进行栈回溯。从当前的bp0开始,找到上一个bp1=*bp0,ra1=*(bp这0 + 4),ra1就是调用函数的地址。继续回溯,bp2=*bp1,ra2=*(bp1 + 4),ra2应该是再上一级调用函数的地址。如此循环,同时用info symbol $ra* 打印出来每一级函数,就找到实际的call trace信息了。
......【阅读全文】

阅读(4668) | 评论(4) | 转发(2)

发布时间:2013-01-04 20:59:26

      这次来看看PowerPC体系架构CPU的栈帧布局和操作方法。PowerPC用得不多,有不对的地方大家拍砖啊~~ 1.  PowerPC的栈帧    先来看看PowerPC的栈帧布局图:        上图描述的是PowerPC的栈帧布局方式,PowerPC的栈生长方向也是由高到低,caller是调用者,current是被调用者。压栈的顺序依次是FPR、GPR、CR、Local Variable、Function Parameter......【阅读全文】

阅读(5321) | 评论(0) | 转发(2)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册