[发明专利]Linux系统崩溃时内核函数调用栈分析调试方法有效
申请号: | 201310069706.9 | 申请日: | 2013-03-05 |
公开(公告)号: | CN103106132A | 公开(公告)日: | 2013-05-15 |
发明(设计)人: | 张志 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/36 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 吴大建;钟日红 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种Linux系统崩溃时内核函数调用栈分析调试方法,包括:读取带调试信息的内核和崩溃时的内核转储文件;读取崩溃时函数栈指针寄存器r29的值,根据r29获取指向系统崩溃时正在运行函数的函数返回地址;判断当前程序计数器所指向的指令是否满足操作码是daddiu指令且源和目的操作数均是r29,若判断为满足则对当前指令中immediate字段immediate字段进行符号扩展,将扩展后immediate字段的与r29的值相减得出函数栈帧的大小;将根据r29值得到当前函数的上一个函数的地址。本发明能够在系统崩溃时即使不分配帧指针寄存器也能够快速分析崩溃时栈空间中的函数调用关系。 | ||
搜索关键词: | linux 系统 崩溃 内核 函数 调用 分析 调试 方法 | ||
【主权项】:
一种Linux系统崩溃时内核函数调用栈分析调试方法,其特征在于,包括:读取带调试信息的内核和Linux系统崩溃时的内核转储文件;读取Linux系统崩溃时函数栈指针寄存器r29的值,根据栈指针寄存器r29获取指向系统崩溃时正在运行的函数的函数返回地址;判断当前程序计数器所指向的指令是否满足操作码是daddiu指令且源和目的操作数均是栈指针寄存器r29,若判断为满足,则解析出该当前指令中的immediate字段,并对immediate字段进行符号扩展,将扩展后immediate字段的与栈指针寄存器r29的值相减,得出函数栈帧的大小;将栈指针寄存器r29中的值与所得出的函数栈帧的大小相减,得到当前函数的上一个函数的地址。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310069706.9/,转载请声明来源钻瓜专利网。
- 上一篇:治疗皮肤溃疡的中药制剂及其制备方法
- 下一篇:换气装置安装结构