[发明专利]一种获取内存占用量的方法、装置、计算机设备及介质在审
申请号: | 201910638175.8 | 申请日: | 2019-07-16 |
公开(公告)号: | CN110347407A | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/50;G06F11/36 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 姚萱萱 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存占用量 监控函数 钩子函数 函数执行 起始点 程序模块 计算机设备 函数使用 函数信息 开始时刻 运行效率 监控 优化 | ||
本发明实施例提供一种获取内存占用量的方法,包括:获取程序模块中所有的函数信息;利用第一钩子函数对各函数的起始点进行hook,将第一监控函数注入至每个函数的起始点;利用第二钩子函数对各函数的结束点进行hook,将第二监控函数注入至每个函数的结束点;当利用第一监控函数监控到每个函数执行的开始时刻时,获取每个函数对应的第一内存占用量;当利用第二监控函数监控到每个函数执行的结束时刻时,获取每个函数对应的第二内存占用量;根据对应的第一内存占用量及对应的第二内存占用量确定每个函数在执行过程中所使用的内存占用量;如此,可以得知哪个函数使用的内存占用量比较大,进而针对性地对该函数进行优化,确保程序的运行效率。
技术领域
本发明属于软件开发技术领域,尤其涉及一种获取内存占用量的方法、装置、计算机设备及介质。
背景技术
在程序开发中,内存的使用对于程序运行来说是非常关键的指标,在程序运行中,若内存占用量太大的话,会影响整个程序的运行效率。
现有技术中是通过设置一个定时器不断的去获取当前内存的使用情况,从而监控内存的使用量,然而此种方法只能监控内存使用量,无法为开发人员提供优化方向,导致开发人员不能针对性地对内存占用进行优化,进而也无法提高程序运行效率。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种获取内存占用量的方法、装置、计算机设备及介质,用于解决在程序开发中,当内存占用量比较大时,现有技术中无法为开发人员提供优化方向,导致开发人员不能针对性地对内存占用进行优化,进而导致程序的运行效率不能得到保证的技术问题。
本发明实施例提供一种获取内存占用量的方法,所述方法包括:
获取程序模块中所有的函数信息;
利用预设的第一钩子函数对各函数的起始点进行hook,将预设的第一监控函数注入至每个函数的起始点;
利用预设的第二钩子函数对所述各函数的结束点进行hook,将预设的第二监控函数注入至所述每个函数的结束点;
当利用所述第一监控函数监控到每个函数执行的开始时刻时,获取所述每个函数对应的第一内存占用量;
当利用所述第二监控函数监控到所述每个函数执行的结束时刻时,获取所述每个函数对应的第二内存占用量;
根据对应的所述第一内存占用量及对应的所述第二内存占用量确定所述每个函数在执行过程中所使用的内存占用量,所述内存占用量为所述第二内存占用量与所述第一内存占用量的差值。
上述方案中,所述获取程序模块中所有的函数信息后,包括:
将所述各函数信息按照预先设置的函数结构存储在预先建立的函数链表中;其中,
每个函数对应一个函数结构,所述函数结构包括:用于记录函数名称的Stringname,用于记录程序模块名称的第一参数string module,用于记录所述程序模块的起始地址的第二参数DWORD dwbase,用于记录所述函数相对于所述程序模块的起始偏移量的第三参数DWORD dwstart,用于记录所述函数本身内存的第四参数DWORD dwsize,用于记录所述函数在执行开始时刻对应的第一内存占用量的第五参数Long dwmemory。
上述方案中,所述利用预设的第一钩子函数对各函数的起始点进行hook,将预设的第一监控函数注入至每个函数的起始点包括:
逐一获取每个函数对应的程序模块的起始地址及所述每个函数相对于对应的程序模块的起始偏移量;
根据对应的程序模块的起始地址及所述每个函数相对于所述对应的程序模块的起始偏移量确定所述每个函数的起始内存地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910638175.8/2.html,转载请声明来源钻瓜专利网。