[发明专利]软件资源泄露情况的监测方法及系统在审
申请号: | 201810506525.0 | 申请日: | 2018-05-24 |
公开(公告)号: | CN108733567A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 陈河;李涛;王建;高金鹏 | 申请(专利权)人: | 北京智芯微电子科技有限公司;国网信息通信产业集团有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/34 |
代理公司: | 北京中誉威圣知识产权代理有限公司 11279 | 代理人: | 周勇;孙彦斌 |
地址: | 100192 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 监测 目标接口 功能头 软件资源 检测 泄露 文件操作方式 断电监测 关键接口 监测记录 监测软件 接口替换 软件行为 时间监测 文件写入 原始资源 资源泄露 源文件 调用 工作量 替换 记录 创建 | ||
本发明公开了一种软件资源泄露情况的监测方法及系统。该监测方法包括以下步骤:创建检测功能头文件;在所述检测功能头文件中,采用宏定义的方式将被监测的软件中的原始资源调用的接口替换为目标接口,并扩展所述目标接口的参数,该目标接口能够对软件行为进行监测记录;将所述检测功能头文件写入被监测的软件的文件中;监测所述被监测的软件的资源泄露情况。该监测方法采用宏定义完成关键接口替换,无需修改源文件的代码,工作量小。另外该监测方法以文件操作方式记录资源的使用情况,可以在被监测软件未运行的情况下长时间监测和断电监测。
技术领域
本发明涉及软件开发调试领域,特别涉及一种软件资源泄露情况的监测方法及系统。
背景技术
软件开发过程中,一些系统资源的申请和释放都是由用户来负责的。比如内存,互斥锁,定时器等。这些资源在使用结束后忘记了释放,称之为资源泄露。资源泄漏的数量随着运行时间的推移会逐渐耗尽系统资源,导致系统不可用,因而一定时间下应该需要检测资源的泄露情况,并完成资源的及时释放。目前检测资源的泄露位置的定位手段都是修改代码,把待检查的资源的使用文件都进行相应的替换,并调用专用接口来记录和检查内存的使用情况,通过log等形式发现泄漏的地方。现有的检测方法有如下缺点:
1,代码改动量较大,需要把待检查的资源的使用文件都进行相应的替换,修改后的文件恢复过程较复杂,工作量大。
2,资源泄漏检测都在程序运行中完成,不利于长时间监测以及断电检测。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种软件资源泄露情况的监测方法,该监测方法采用宏定义完成关键接口替换,无需修改源文件的代码,工作量小。
为了实现上述目的,本发明提供了一种软件资源泄露情况的监测方法。该监测方法包括以下步骤:创建检测功能头文件;在所述检测功能头文件中,采用宏定义的方式将被监测的软件中的原始资源调用的接口替换为目标接口,并扩展所述目标接口的参数,该目标接口能够对软件行为进行监测记录;将所述检测功能头文件写入被监测的软件的文件中;监测所述被监测的软件的资源泄露情况。
在一优选的实施方式中,所述目标接口的参数包括:文件名,行号,函数名,日期,时间。
在一优选的实施方式中,监测所述被监测的软件的资源泄露情况包括以下内容:被监测的软件在进行资源申请过程时,首先以原始资源调用的接口返回值作为所述目标接口的返回值,判断返回值是否成功,若成功则创建文件到指定路径下,其中,所述创建文件的文件名名称中包括文件名参数和行号参数;被监测的软件在进行资源释放过程时,所述目标接口根据释放资源的参数,释放相应的资源,若释放成功,则根据参数删除对应路径下的文件。
在一优选的实施方式中,在删除文件时,若因文件不存在而删除失败,则认为该删除操作是误操作,将该误操作保存到指定日志文件中。
在一优选的实施方式中,监测所述被监测的软件的资源泄露情况还包括以下内容:在检查资源泄漏位置的时候,所述目标接口查看所述指定路径下的相关资源文件的存在情况,存在多个同名称的文件的路径大概率是资源泄漏位置。
本发明还提供了一种软件资源泄露情况的监测系统,包括:文件创建模块、接口替换模块、文件写入模块以及软件监测模块。文件创建模块用于创建检测功能头文件。接口替换模块与所述文件创建模块相耦合,用于在所述检测功能头文件中,采用宏定义的方式将被监测的软件中的原始资源调用的接口替换为目标接口,并扩展所述目标接口的参数从而对软件行为进行监测记录。文件写入模块与所述接口替换模块相耦合,用于将所述检测功能头文件写入被监测的软件的文件中。软件监测模块与所述文件写入模块相耦合,用于监测所述被监测的软件的资源泄露情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智芯微电子科技有限公司;国网信息通信产业集团有限公司,未经北京智芯微电子科技有限公司;国网信息通信产业集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810506525.0/2.html,转载请声明来源钻瓜专利网。