[发明专利]一种定位非法地址的装置以及方法有效
申请号: | 201510695011.0 | 申请日: | 2015-10-22 |
公开(公告)号: | CN105354104B | 公开(公告)日: | 2019-03-26 |
发明(设计)人: | 王守峰 | 申请(专利权)人: | 上海华为技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 200121 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定位 非法 地址 装置 以及 方法 | ||
本发明实施例公开了一种定位非法地址的方法,包括:该方法应用于定位非法地址的装置,定位非法地址的装置部署有指令跟踪Ptrace模块以及数据跟踪Dtrace模块,记录指令的信息,指令的信息包括第一关联值;记录指令操作的信息,指令操作的信息包括第二关联值;根据第一关联值与第二关联值,建立指令的信息与指令操作的信息之间的关联关系;当出现目标指令的非法地址时,根据指令的信息与指令操作的信息之间的关联关系,确定目标指令的非法地址所对应的目标指令的信息,并通过目标指令的信息确定目标指令的位置。本发明实施例还提供了一种定位非法地址的装置。本发明实施例可以当出现目标指令的非法地址时,准确的定位非法地址出现的位置。
技术领域
本发明实施例涉及计算机内存检测技术,尤其涉及一种定位非法地址的装置以及方法。
背景技术
在中央处理器(英文全称:Central Processing Unit,英文缩写:CPU)内部具有高速存储器,包括高速缓冲存储器(英文全称:cache)以及写入缓冲器(英文全称:WriteBuffer)。Cache中保存着最近一段时间被CPU使用过的内存数据,而Write Buffer则用于应对内存的写入操作,将原本需要写入内存的数据暂时写入Write Buffer中,等CPU空闲的时候,数据才会移至内存中。
引入Write Buffer部件是为了在CPU有计算结果需要存储时更好地提高写入的速度,在Cache并行的位置增加Write Buffer可以将慢速的串行传输数据转化为并行传输数据。在引入Write Buffer部件之后,虽然CPU写入的速度得到了提升,但是由于CPU为了并行处理是不等待写入指令的响应的,如果CPU写了非法地址,等总线返回写入异常的时候,此时的程序上下文已经不是写入异常的现场了。这样就会给定位非法地址带来很大的挑战。
目前,有一种非法内存读写的检测方法,应用于CPU中含有内存管理单元(英文全称:Memory Management Unit,英文缩写:MMU)的嵌入式系统平台。可以将针对非法内存读写的异常处理程序挂到数据存取违背存取权限的异常向量处。设定需要监控的内存、合法任务及对非法访问的处理方式,并在内存所在页设置为不可读或/及写,当有程序指令访问到设置了读写保护的页时,产生数据存取违背存取权限的异常,CPU自动跳到所述异常处理程序中;在异常处理程序中判断该指令读写的是需要监控的内存且读写该内存的指令不是合法任务时,根据设置的对非法访问的处理方式记录和处理,结束;否则正常读写内存,完成后跳出异常处理程序,回到正常的程序中去。以此可以方便地实现对非法内存读写的实时检测。
然而在现有技术中,必须依赖于系统携带的MMU,与此同时,在某些MMU做了页表映射,但是实际上没有写入权限的场景下,无法触发MMU异常,但是写地址的时候还是会导致CPU异常。这是由于经过了Write Buffer部件之后,CPU为了并行处理是不等待写入指令的响应的,若CPU写了非法地址,等总线返回写入异常的时候,此时的程序上下文已经不是写入异常的现场了。就会难以定位非法地址出现的位置。
发明内容
本发明实施例提供了一种定位非法地址的装置以及方法,当出现目标指令的非法地址时,确定目标指令的非法地址所对应的目标指令的信息,以获取目标指令的位置,引入指令跟踪模块可用于记录指令操作的信息,并且将指令跟踪模块与数据跟踪模块进行关联,从而可以准确的定位非法地址出现的位置。
有鉴于此,本发明第一方面提供一种定位非法地址的装置,所述装置应用于基带处理芯片,所述装置部署有指令跟踪Ptrace模块以及数据跟踪Dtrace模块,所述装置包括:
所述Ptrace模块用于记录指令的信息,所述指令的信息包括第一关联值;
所述Dtrace模块用于记录指令操作的信息,所述指令操作的信息包括第二关联值;
所述装置还包括关联模块以及定位模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华为技术有限公司,未经上海华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510695011.0/2.html,转载请声明来源钻瓜专利网。