[发明专利]一种热点模块指令跟踪的方法及设备有效
申请号: | 201510444041.4 | 申请日: | 2015-07-27 |
公开(公告)号: | CN105095079B | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 张小松;王东;许云清;牛伟纳;陈瑞东;朱迦南;白金;俞工淳 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 电子科技大学专利中心51203 | 代理人: | 李明光 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 热点 模块 指令 跟踪 方法 设备 | ||
1.一种热点模块指令追踪的方法,主要包括以下步骤:
步骤1.标识感兴趣的页:用户根据需要标记感兴趣的文件为热点模块,将热点模块所在代码页记为感兴趣的页并设置为PAGE_GUARD属性,标识并记录这些代码页的PAGE_GUARD属性,执行步骤2;
步骤2.被调试进程在运行时触发异常,其中,由于感兴趣的页已经被设置PAGE_GUARD属性,若被调试进程的某一线程访问到标识为感兴趣的内存页,则会触发异常;主程序接收到触发的异常后,对被调试进程进行挂起处理,执行步骤3;
步骤3.处理PAGE_GUARD异常:异常处理进程接受到被调试进程发送的异常事件后对异常进行判定及处理,处理后将被调试进程唤起,执行步骤4;
步骤4.一旦发现步骤3中线程所触发的异常为PAGE_GUARD异常,则被调试进程唤起后,把该线程所访问的包含有该内存页PAGE_GUARD属性及其位置的信息写入一个链表中,此时该内存页的PAGE_GUARD属性丢失,并将被调试进程的所有线程设置为单步调试即一步一步的执行指令,执行步骤5;
步骤5.当单步执行下个线程的指令后将触发单步异常,单步执行进程进行异常处理,当前线程的单步标示位丢失,该线程不再单步;判断该线程下条指令所访问内存页位置是否处于所设定感兴趣的页,如果处于感兴趣的页,并且感兴趣的页具有PAGE_GUARD属性则重新执行步骤4,若感兴趣的页没有PAGE_GUARD属性就使该线程继续单步;如果线程未访问感兴趣的页,则该线程不再单步,并针对此前已丢失PAGE_GUARD属性的内存页根据步骤4所述链表重设其PAGE_GUARD属性并重新执行步骤2;
步骤6.按照上述方法,即可实现进程在调试过程中热点模块是否被访问及访问频率的实时跟踪。
2.一种实现如权利要求1所述的热点模块指令追踪方法的装置,其特征在于,包括调试循环模块,异常处理模块,读取寄存器及内存模块,断点功能模块,单步执行模块;
调试循环模块的作用:一个进程成为被调试进程之后,在完成了某些操作或者发生异常时,它会发送通知给调试器,然后将自身挂起,直到调试器唤醒即命令它继续执行;
异常处理模块的作用:通过异常的分发,对不同的异常事件进行处理,用于处理软件或信息系统中出现的异常状况;
读取寄存器及内存模块的作用:每一个线程都有一个上下文环境,其包含了有关线程的大部分信息;上下文环境保存在寄存器中,系统进行线程调度的时候会发生上下文切换,即将一个线程的上下文环境保存到内存中,将另一个线程的上下文环境装入寄存器;
断点功能模块:在进行调试的时候,通过控制断点功能模块引发异常使得被调试进程暂停执行,便于调试器执行操作;
单步执行模块的作用:单步执行是最常见的调试手段之一,即每次执行一个指令;
通过使用Windows API函数CreateProcess启动被调试程序,通过调试循环模块,调试程序循环等待被调试程序触发异常事件;所述异常处理模块对异常事件进行分发处理;通过读取寄存器及内存模块,得到被调试进程访问页的位置信息,判断是否访问到感兴趣的内存页,如果访问的是热点模块,则触发PAGE_GUARD异常;通过异常处理模块处理PAGE_GUARD异常并将被调试进程唤起;被调试进程的所有线程通过单步执行模块被设置为单步调试,一条一条的执行指令;
单步执行模块还具有以下功能:在单步调试过程中,若当前指令访问感兴趣的内存页即产生PAGE_GUARD异常,唤起进程后继续按单步调式方式执行指令;若当前指令出现非PAGE_GUARD异常并唤醒进程后或未出现任何异常,则利用所述链表记录的信息,将此前已丢失PAGE_GUARD属性的内存页重新设置相应的PAGE_GUARD属性,并取消当前指令对应线程的单步调试方式;
断点功能模块还具有以下功能:在主程序进行调试时暂停程序执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510444041.4/1.html,转载请声明来源钻瓜专利网。