当前位置: 首页 > news >正文

综合返利商城网站建设/软文案例

综合返利商城网站建设,软文案例,软件开发报价单,国内大型网站建设公司上章链接入口: http://www.cnblogs.com/lifexy/p/8006748.html 在上章里,我们分析了oops的PC值在哪个函数出错的 本章便通过栈信息来分析函数调用过程 1.上章的oops栈信息如下图所示: 9fe0: 代表最初的栈顶SP寄存器位置9e80:代表函数出错的SP寄存器位置 2.我们先来分析上图的栈…

上章链接入口: http://www.cnblogs.com/lifexy/p/8006748.html

在上章里,我们分析了oops的PC值在哪个函数出错的

本章便通过信息来分析函数调用过程


1.上章的oops栈信息如下图所示:

  • 9fe0: 代表最初的栈顶SP寄存器位置
  • 9e80:代表函数出错的SP寄存器位置 

2.我们先来分析上图的栈信息,又是怎样的过程呢?

2.1内核主要是通过STMDB和LDMIA汇编命令来入栈和出栈

(STMDB和LDMIA汇编命令参考: http://www.cnblogs.com/lifexy/p/7363208.html)

内核每进入一个函数就会通过STMDB,将上个函数的内容值存入栈顶sp,然后栈顶sp-4.

当内核的某个函数出问题时,内核便通过LDMIA,将栈顶sp打印出来,然后栈顶sp+4,直到到达最初的栈顶

2.2我们以下图的3个函数为例:

若c()函数出问题后,内核就会打印b()函数的内容(0x03,LR), 打印a()函数的内容(0x02,LR),直到sp到达栈顶为止

其中lr值,便代表各个函数的调用关系

3.接下来我们便以上章的oops里的栈信息来分析

在上章里,我们找到PC值bf000078在26th_segmentfault驱动模块first_drv_open()函数下出错。

3.1先来看first_drv_open()函数,找到STMDB入栈的lr值,来确定被哪个函数调用的

 如上图所示,first_drv_open()函数里,通过stmdb      sp!, {r4, r5, fp, ip, lr, pc} 存入了6个值,

所以, 返回到上个函数的值lr =c008d888

在上章,我们便分析到:

内核的虚拟地址是c0004000~c03cebf4,所以c008d888位于内核的某个函数里

3.2 然后将内核进行反汇编

在内核源码的根目录下:

# arm-none-linux-gnueabi-objdump -D vmlinux > vmlinux.txt      //-D:反汇编所有段    vmlinux:未压缩的内核

3.3 打开vmlinux.txt

如下图所示,搜索c008d888:

往上翻,找到c008d888位于函数chrdev_open()下:

如上图所示, chrdev_open()函数存了10个值,所以,返回到上个函数的值lr= c0089e48

3.4 继续搜索c0089e48:

往上翻,找到c0089e48位于函数__dentry_open ()下:

如上图所示, __dentry_open()函数存了10个值,所以,第二个值lr= c0089f64

3.5 继续搜索c0089f64:

往上翻,找到c0089f64位于函数nameidata_to_filp()下:

如上图所示, nameidata_to_filp函数存了6个值,所以,第二个值lr= c0089fb8

... ...(此处省略n字)

4.最终分析出,栈信息的调用过程如下:

  • ret_fast_syscall()->
  •   sys_open()->
  •      do_sys_open()->
  •         do_filp_open()->
  •            nameidata_to_filp()->
  •               chrdev_open()->
  •               first_drv_open();
http://www.lbrq.cn/news/1321219.html

相关文章:

  • 通辽做网站制作/外包网络推广公司怎么选
  • 怀化汽车网站/百度网站快速优化
  • java怎么做网站多语言/鲜花网络营销推广方案
  • 江门找人做网站排名/搜索引擎优化包括哪些内容
  • 芜湖炎黄做的网站/秦洁婷seo博客
  • wordpress360收录插件/关键词排名优化系统
  • 个人网站 模版 后台管理系统/网络推广的渠道
  • 我的电脑做网站服务器吗/免费网页在线客服系统
  • 环球资源网站什么时候做的/互联网推广有哪些方式
  • 公司网站建设征稿令/中国科技新闻网
  • 西宁网站建设哪家好/独立站网站
  • 静态网站开发课程相关新闻/专业排名优化工具
  • 用html制作旅游网站/seo网站搭建是什么
  • 设计做任务的网站/cps广告是什么意思
  • 做网站怎么上词/广东病毒感染最新消息
  • 建立网站报价/app开发自学教程
  • 汇云网站建设/独立站优化
  • 网站后台管理要求/网络营销策划书包括哪些内容
  • 网站定制 动易/免费网站统计代码
  • 青海省住房和城乡建设部网站/windows优化大师收费吗
  • 徐州做网站谁家最专业/seo建站公司
  • 成都网站建设收费/智能建站网站模板
  • 做外贸做独立网站划算吗/免费推广平台排行榜
  • dede做双语网站/怎么开通网站平台
  • 做网站设计制作公司/seo网站管理招聘
  • 怎么做盗版小说网站/太原seo优化公司
  • php网站开发教程图片/怎么找专业的营销团队
  • 厦门做网站公司/最有效的网络推广方式和策略
  • 租车网站建设/国家高新技术企业
  • 周口建设局网站/企业网站推广的方法
  • 查看主板信息的3种方法
  • S7-1200 /1500 PLC 进阶技巧:组织块(OB1、OB10)理论到实战
  • 【neo4j】跨版本升级数据库
  • es的histogram直方图聚合和terms分组聚合
  • 脚手架搭建React项目
  • Kafka Streams窗口技术全解析:从理论到电商实时分析实战