[发明专利]一种利用跟踪函数和解析工具调试存储软件的方法有效
申请号: | 201710143423.2 | 申请日: | 2017-03-11 |
公开(公告)号: | CN106940681B | 公开(公告)日: | 2020-07-21 |
发明(设计)人: | 闫永刚 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 陈勇 |
地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 跟踪 函数 解析 工具 调试 存储 软件 方法 | ||
本发明涉及计算机系统及存储领域,公开一种利用跟踪函数和解析工具调试存储软件的方法,包括以下步骤:编写跟踪函数并将其嵌入存储软件需要调试的代码路径上;在存储软件的代码异常分支启用assert;设置环形缓冲区;运行存储软件;判断存储软件是否正常运行,若是,则保存跟踪信息到环形缓冲区并继续运行存储软件;若否,则调用assert终止存储软件运行,系统生成内存转储文件;利用解析工具对内存转储文件进行解析,实现存储软件的问题定位。本发明提供一种利用跟踪函数和解析工具调试存储软件的方法,采用在存储软件需要调试的代码路径上嵌入跟踪函数并通过解析内存转储文件、在不影响存储软件性能的前提下实现存储软件的问题定位。
技术领域
本发明涉及计算机系统及存储领域,尤其涉及一种利用跟踪函数和解析工具调试存储软件的方法。
背景技术
存储系统是由Target、远程复制、快照、镜像、缓存、数据池和RAID,以及FC、NIC、SAS硬件驱动和底层OS构成的一套复杂系统。除此之外,存储系统必须要保证各种场景下的数据一致性、性能和延时,并容忍单点硬件故障。存储系统部署在客户重要的生产环境中,不能频繁的升级、调试和搜集数据,存储系统的应用一般庞大复杂,重现问题有较大的难度,这些要求进一步增加了存储系统的复杂性。
存储系统的复杂性和应用场景给存储软件的问题定位带来了极大的复杂性,严重影响客户数据的安全、产品的完善和维护成本。
发明内容
本发明针对目前需求以及现有技术发展的不足之处,提供一种利用跟踪函数和解析工具调试存储软件的方法,采用在存储软件需要调试的代码路径上嵌入跟踪函数,并通过解析内存转储文件实现存储软件的问题定位。
为了实现上述目的,本发明采用以下的技术方案:
一种利用跟踪函数和解析工具调试存储软件的方法,包括以下步骤:
编写跟踪函数并将其嵌入到存储软件需要调试的代码路径上;
在存储软件的代码异常分支启用assert;
设置环形缓冲区,所述环形缓冲区用来存放调用跟踪函数产生的跟踪信息;
运行存储软件;
判断存储软件是否正常运行,若是,则保存跟踪信息到环形缓冲区并继续运行存储软件;若否,则调用assert终止存储软件运行,系统生成内存转储文件;
利用解析工具对内存转储文件进行解析,查看存储软件出现异常时环形缓冲区内保存的跟踪信息,实现存储软件的问题定位。
优选地,所述环形缓冲区包括多个存储条目,每个存储条目存储一条跟踪信息。
优选地,所述环形缓冲区执行覆盖式写入,每调用一次跟踪函数覆盖环形缓冲区保存的最旧的一条跟踪信息。
优选地,设置环形缓冲区,所述环形缓冲区用来存放调用跟踪函数产生的跟踪信息,包括:
根据调用跟踪函数的复杂度和系统内存总量在系统内存中划分环形缓冲区大小;
将环形缓冲区等分为多个存储条目。
优选地,所述内存转储文件为ELF格式文件并保存在硬盘上。
优选地,所述内存转储文件包括存储软件出现异常时环形缓冲区内保存的跟踪信息。
优选地,所述内存转储文件包括Program Headers字段。
优选地,所述Program Headers字段包括Load信息行。
优选地,所述Load信息行包括内存转储文件的起始地址和偏移量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710143423.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种玉米轻质杂质清理装置
- 下一篇:一种农业喷雾器用喷头