【技术实现步骤摘要】
内存故障检测定位方法、装置、计算机设备及存储介质
本专利技术属于计算机
,尤其涉及一种内存故障检测定位方法、装置、计算机设备及存储介质。
技术介绍
嵌入式系统中的各种程序大多会涉及到内存的申请、使用和释放。在这个过程中很容易出现内存泄漏、内存越界等内存使用问题。这些问题会导致整个系统出现功能异常,甚至系统重启,严重影响系统的正常工作。并且出现内存问题时,往往其现象不确定,出现的条件和时间也不确定,因此很难定位具体是哪里出现了内存问题。传统的代码检测工具可以检查出明显的内存泄漏、内存越界问题,但是对于复杂功能代码,在多级内存指针的嵌套的情况下,传统的代码检测工具不能进行有效的检查。可见,现有技术中针对于嵌入式系统当中的内存故障检测定位方法还存在对复杂功能代码故障检测效果差的技术问题。
技术实现思路
本专利技术实施例的目的在于提供一种内存故障检测定位方法,旨在解决现有技术中针对于嵌入式系统当中的内存故障检测定位方法还存在的对复杂功能代码故障检测效果差的技术问题。本专利技术实施例是这样实现 ...
【技术保护点】
1.一种内存故障检测定位方法,其特征在于,运用于嵌入式系统当中,所述内存故障定位方法包括:/n根据预设的内存故障检测规则对位于使用内存前端和/或后端的内存管理结构进行故障检测,确定系统是否存在内存故障;所述内存管理结构是在程序向系统申请使用内存的过程中与使用内存同步申请的;所述内存管理结构中至少包括使用内存的特征标识、使用内存的内容校验码、使用内存的大小信息的一种或多种;/n当确定系统存在内存故障时,根据预设的内存故障定位规则确定存在故障的使用内存。/n
【技术特征摘要】 【专利技术属性】
1.一种内存故障检测定位方法,其特征在于,运用于嵌入式系统当中,所述内存故障定位方法包括:
根据预设的内存故障检测规则对位于使用内存前端和/或后端的内存管理结构进行故障检测,确定系统是否存在内存故障;所述内存管理结构是在程序向系统申请使用内存的过程中与使用内存同步申请的;所述内存管理结构中至少包括使用内存的特征标识、使用内存的内容校验码、使用内存的大小信息的一种或多种;
当确定系统存在内存故障时,根据预设的内存故障定位规则确定存在故障的使用内存。
2.根据权利要求1所述的内存故障检测定位方法,其特征在于,所述内存管理结构中包括使用内存的特征标识;所述使用内存的前端和后端均存在内存管理结构;所述根据预设的内存故障检测规则对位于使用内存前端和/或后端的内存管理结构进行故障检测,确定系统是否存在内存故障的步骤,具体为:
判断是否存在特征标识被损坏的内存管理结构;
当判断存在特征标识被损坏的内存管理结构时,确定系统存在内存越界故障;
所述当确定系统存在内存故障时,根据预设的内存故障定位规则确定存在故障的使用内存的步骤,具体为:
当确定系统存在内存越界故障时,确定与被损坏的特征标识对应的使用内存;
判断当前确定的使用内存的前端内存管理结构中的特征标识是否被损坏;
当判断当前确定的使用内存的前端内存管理结构中的特征标识被损坏时,将所述当前确定的使用内存的上一使用内存重新确定为当前确定的使用内存,并返回至所述判断当前确定的使用内存的前端内存管理结构中的特征标识是否被损坏的步骤;
当判断所述使用内存的前端内存管理结构中的特征标识未被损坏时,确定当前确定的使用内存存在内存越界故障。
3.根据权利要求2所述的内存故障检测定位方法,其特征在于,所述内存管理结构还包括调用内存申请接口的位置信息;所述位置信息包括代码文件名、函数名以及行数;在所述确定当前确定的使用内存存在内存越界故障的步骤之后,还包括:
根据存在内存越界故障的使用内存的内存管理结构中的调用内存申请接口的位置信息确定存在内存越界故障的程序代码段。
4.根据权利要求1所述的内存故障检测定位方法,其特征在于,所述内存管理结构中包括使用内存的内容校验码;所述根据预设的内存故障检测规则对位于使用内存前端和/或后端的内存管理结构进行故障检测,确定系统是否存在内存故障的步骤,具体为:
根据预设的校验规则对内存数据进行校验,确定校验结果;
根据所述校验结果与所述内容校验码是否相同确定,确定系统是否存在内存意外修改故障。
技术研发人员:应志强,
申请(专利权)人:长沙景嘉微电子股份有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。