[发明专利]一种文件描述符分配检测方法和装置有效
申请号: | 201710233321.X | 申请日: | 2017-04-11 |
公开(公告)号: | CN107423213B | 公开(公告)日: | 2020-12-18 |
发明(设计)人: | 丁铎 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 描述 分配 检测 方法 装置 | ||
1.一种文件描述符分配检测方法,其特征在于,包括:
在应用程序运行过程中,记录系统为所述应用程序分配的文件描述符、所述文件描述符对应的分配路径以及所述文件描述符的释放信息;
如果根据记录的、所述系统为所述应用程序分配的文件描述符及其释放信息判断出所述系统为所述应用程序分配的文件描述符数量超过第一预设阈值,则分析记录的每一文件描述符对应的分配路径,统计相同分配路径的数量;
如果相同分配路径的数量超过第二预设阈值,则确定所述应用程序存在文件描述符分配泄露;否则,确定所述应用程序不存在文件描述符分配泄露。
2.如权利要求1所述的方法,其特征在于,记录系统为所述应用程序分配的文件描述符、所述文件描述符对应的分配路径以及所述文件描述符的释放信息,具体包括:
在监控到所述应用程序调用文件描述符分配函数时,记录所述系统为所述应用程序分配的文件描述符及其对应的分配路径;
在监控到所述应用程序调用文件描述符释放函数时,删除被释放的文件描述符及其对应的分配路径。
3.如权利要求2所述的方法,其特征在于,采用数据队列的方式记录系统为所述应用程序分配的文件描述符、所述文件描述符对应的调用堆栈以及所述文件描述符的释放信息;以及
在监控到所述应用程序调用文件描述符分配函数时,记录所述系统为所述应用程序分配的文件描述符及其对应的分配路径,具体包括:
在监控到所述应用程序调用文件描述符分配函数时,在所述数据队列中添加所述系统为所述应用程序分配的文件描述符及其对应的分配路径;
在监控到所述应用程序调用文件描述符释放函数时,删除被释放的文件描述符及其对应的分配路径,具体包括:
在监控到所述应用程序调用文件描述符释放函数时,从所述数据队列中删除被释放的文件描述符及其对应的分配路径。
4.如权利要求1所述的方法,其特征在于,根据记录的、所述系统为所述应用程序分配的文件描述符及其释放信息,按照以下流程判断所述系统为所述应用程序分配的文件描述符数量是否超过第一预设阈值:
根据记录的、所述系统为所述应用程序分配的文件描述符及其释放信息,统计所述系统为所述应用程序分配的文件描述符的数量;
根据统计结果确定所述应用程序分配的文件描述符的数量是否超过第一预设阈值。
5.如权利要求1所述的方法,其特征在于,所述系统每次为所述应用程序分配的文件描述符为系统中最小且可用的;以及
根据记录的、所述系统为所述应用程序分配的文件描述符及其释放信息,按照以下流程判断所述系统为所述应用程序分配的文件描述符数量是否超过第一预设阈值:
根据记录的、所述系统为所述应用程序分配的文件描述符,判断所述文件描述符是否超过第一预设阈值。
6.如权利要求1所述的方法,其特征在于,在确定所述应用程序存在文件描述符泄露之后,还包括:
针对数量超过第二预设阈值的分配路径对应的文件描述符,调用文件描述符释放函数,释放相应的文件描述符;和/或
输出所述应用程序存在文件描述符泄露的第一提示信息,所述第一提示信息中包含有数量超过第二预设阈值的分配路径。
7.如权利要求1所述的方法,其特征在于,在确定所述应用程序不存在文件描述符分配泄露之后,还包括:
输出所述应用程序依赖文件超限的第二提示信息,所述第二提示信息中携带有所有记录的分配路径,所述第二提示信息用于提示用户根据所有记录的分配路径针对所述应用程序进行依赖文件的合并。
8.如权利要求1~7任一权利要求所述的方法,其特征在于,所述文件描述符对应的分配路径包括所述文件描述符对应的调用堆栈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710233321.X/1.html,转载请声明来源钻瓜专利网。