[发明专利]一种文件处理方法及装置有效
申请号: | 201310287998.3 | 申请日: | 2013-07-10 |
公开(公告)号: | CN104142819A | 公开(公告)日: | 2014-11-12 |
发明(设计)人: | 吴云佳 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 处理 方法 装置 | ||
1.一种文件处理方法,其特征在于,包括:
扫描源文件,确定符合预设的文件过滤条件的目标文件块;
生成用于表示所述目标文件块的第一抽象语法树,并根据所述第一抽象语法树确定对所述目标文件块的插桩位置;
在所述确定的插桩位置对所述目标文件块进行插桩处理,生成用于表示插桩后的所述目标文件块的第二抽象语法树;
调用文件回写接口将所述第二抽象语法树回写至所述源文件中。
2.如权利要求1所述的方法,其特征在于,所述生成用于表示所述目标文件块的第一抽象语法树,并根据所述第一抽象语法树确定所述目标文件块的插桩位置,包括:
对所述目标文件块进行语法解析,生成所述目标文件块的第一抽象语法树;
扫描所述第一抽象语法树,确定所述目标文件块的函数入口位置和函数出口位置;
将所述第一抽象语法树中所确定的所述目标文件块的函数入口位置和/或函数出口位置记录为对所述目标文件块的插桩位置。
3.如权利要求2所述的方法,其特征在于,所述在所述确定的插桩位置对所述目标文件块进行插桩处理,生成用于表示插桩后的目标文件的第二抽象语法树,包括:
获取预先配置的桩代码;
将所述预先配置的桩代码插入至所述第一抽象语法树中所确定的所述目标文件块的函数入口位置和/或函数出口位置;
将插入所述预先配置的桩代码后的第一抽象语法树确定为所述第二抽象语法树。
4.如权利要求1-3任一项所述的方法,其特征在于,所述扫描源文件,确定符合预设的文件过滤条件的目标文件块之前,还包括:
接收用户设置的文件过滤条件,并接收用户预先配置的桩代码;
其中,所述文件过滤条件包括:在循环分支文件、条件分支文件、输入/输出分支文件的任一种或多种类型的分支文件中插入桩代码。
5.如权利要求4所述的方法,其特征在于,所述调用文件回写接口将所述第二抽象语法树回写至所述源文件中之后,还包括:
调用编译接口将完成回写的所述源文件生成可执行文件。
6.如权利要求5所述的方法,其特征在于,所述调用文件回写接口将所述第二抽象语法树回写至所述源文件中之后,所述调用编译接口将完成回写的所述源文件生成可执行文件之前,还包括:
在接收到文件修改请求时,对完成回写的所述源文件执行修改操作。
7.一种文件处理装置,其特征在于,包括:
过滤模块,用于扫描源文件,确定符合预设的文件过滤条件的目标文件块;
确定模块,用于生成用于表示所述目标文件块的第一抽象语法树,并根据所述第一抽象语法树确定对所述目标文件块的插桩位置;
插桩处理模块,用于在所述确定的插桩位置对所述目标文件块进行插桩处理,生成用于表示插桩后的所述目标文件块的第二抽象语法树;
回写模块,用于调用文件回写接口将所述第二抽象语法树所表示的文件块回写至所述源文件中。
8.如权利要求7所述的装置,其特征在于,所述确定模块包括:
语法分析单元,用于对所述目标文件块进行语法解析,生成所述目标文件块的第一抽象语法树;
位置确定单元,用于扫描所述第一抽象语法树,确定所述目标文件块的函数入口位置和函数出口位置;
记录单元,用于将所述第一抽象语法树中所确定的所述目标文件块的函数入口位置和/或函数出口位置记录为对所述目标文件块的插桩位置。
9.如权利要求8所述的装置,其特征在于,所述插桩处理模块包括:
获取单元,用于获取预先配置的桩代码;
插桩处理单元,用于将所述预先配置的桩代码插入至所述第一抽象语法树中所确定的所述目标文件块的函数入口位置和/或函数出口位置;
语法树确定单元,用于将插入所述预先配置的桩代码后的第一抽象语法树确定为所述第二抽象语法树。
10.如权利要求7-9任一项所述的装置,其特征在于,还包括:
接收模块,用于接收用户设置的文件过滤条件,并接收用户预先配置的桩代码;
其中,所述文件过滤条件包括:在循环分支文件、条件分支文件、输入/输出分支文件的任一种或多种类型的分支文件中插入桩代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310287998.3/1.html,转载请声明来源钻瓜专利网。