一种单步调试的检测方法、装置和计算机可读存储介质与流程

文档序号:23589888发布日期:2021-01-08 14:25阅读:来源:国知局

技术特征:

1.一种单步调试的检测方法,其特征在于,包括:

在内存的自修改区域上预先存储自修改机器码;其中,在全速调试模式下,先执行应用程序的原始机器码,以便于将指定地址的数据缓存至预设的高速缓存器中;在单步调试模式下,先调用所述自修改机器码将所述原始机器码替换为被修改机器码,所述指定地址的数据未被缓存至所述高速缓存器中;

获取加载指定地址的数据所消耗的时钟周期;

判断所述时钟周期是否大于预设阈值;

若所述时钟周期大于预设阈值,则输出所述应用程序执行单步调试的检测结果。

2.根据权利要求1所述的单步调试的检测方法,其特征在于,在所述输出所述应用程序执行单步调试的检测结果之后还包括:

将所述应用程序的原始机器码替换为预设的被修改机器码,并将所述高速缓存器中的数据清除;其中,所述被修改机器码执行时不会将所述指定地址的数据缓存至预设的高速缓存器中。

3.根据权利要求1所述的单步调试的检测方法,其特征在于,在所述输出所述应用程序执行单步调试的检测结果之后还包括:

将所述应用程序删除。

4.根据权利要求1所述的单步调试的检测方法,其特征在于,在所述输出所述应用程序执行单步调试的检测结果之后还包括:

控制所述应用程序退出当前的单步调试流程。

5.根据权利要求1-4任意一项所述的单步调试的检测方法,其特征在于,在所述输出所述应用程序执行单步调试的检测结果之后还包括

向终端设备传输告警信息;其中,所述告警信息中携带有所述应用程序执行单步调试的日志数据。

6.一种单步调试的检测装置,其特征在于,包括存储单元、获取单元、判断单元和输出单元;

所述存储单元,用于在内存的自修改区域上预先存储自修改机器码;其中,在全速调试模式下,先执行应用程序的原始机器码,以便于将指定地址的数据缓存至预设的高速缓存器中;在单步调试模式下,先调用所述自修改机器码将所述原始机器码替换为被修改机器码,所述指定地址的数据未被缓存至所述高速缓存器中;

所述获取单元,用于获取加载指定地址的数据所消耗的时钟周期;

所述判断单元,用于判断所述时钟周期是否大于预设阈值;

所述输出单元,用于若所述时钟周期大于预设阈值,则输出所述应用程序执行单步调试的检测结果。

7.根据权利要求6所述的单步调试的检测装置,其特征在于,还包括替换单元和清除单元;

所述替换单元,用于在所述输出所述应用程序执行单步调试的检测结果之后,将所述应用程序的原始机器码替换为预设的被修改机器码;其中,所述被修改机器码执行时不会将所述指定地址的数据缓存至预设的高速缓存器中;

所述清除单元,用于将所述高速缓存器中的数据清除。

8.根据权利要求6所述的单步调试的检测装置,其特征在于,还包括删除单元;

所述删除单元,用于在所述输出所述应用程序执行单步调试的检测结果之后,将所述应用程序删除。

9.一种单步调试的检测装置,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如权利要求1至5任意一项所述单步调试的检测方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述单步调试的检测方法的步骤。


技术总结
本发明实施例公开了一种单步调试的检测方法、装置和介质,在内存的自修改区域上预先存储自修改机器码;在全速调试模式下,先执行应用程序的原始机器码,此时指定地址的数据会被缓存至预设的高速缓存器中;在单步调试模式下,先调用自修改机器码将原始机器码替换为被修改机器码,此时指定地址的数据不会被缓存至所述高速缓存器中。获取加载指定地址的数据所消耗的时钟周期;若时钟周期大于预设阈值,则说明指定地址所对应的数据未被缓存至高速缓存器中,此时可以输出应用程序执行单步调试的检测结果。依据全速调试和单步调试对指定地址所对应的数据执行操作的差异性,可以准确的识别出应用程序是否被执行了单步调试。

技术研发人员:胡瀚璋;范渊;黄进
受保护的技术使用者:杭州安恒信息技术股份有限公司
技术研发日:2020.11.02
技术公布日:2021.01.08
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1