【技术实现步骤摘要】
本专利技术涉及计算机领域,尤其涉及一种热点函数确定的方法及相关设备。
技术介绍
程序是由一个个函数构成的,当终端(例如,计算机,手机等)在运行程序的过程中,程序中的函数执行次数是不同的,而且有可能不同的函数执行的次数千差万别,以游戏程序为例,在游戏中那些执行次数非常多的函数的执行效率严重影响整个游戏的执行性能。传统的方法中,测试人员通过手动方式对关注的函数进行执行情况分析,需要确定函数原型并且需要针对目标函数编写对应的代码,如果关注的函数发生变化或关注的函数增加了,都需要重新编码来获取信息。需要花费很大的人力成本。并且仅仅可以获取关注的函数的执行次数,无法确定该函数是否是热点函数。
技术实现思路
本专利技术实施例提供了一种热点函数确定的方法及相关设备。第一方面,本专利技术实施例提供了一种热点函数确定的方法,包括:终端获取目标程序中的程序数据库文件PDB文件;所述终端对所述目标程序中的PDB文件进行解析,得到所述目标程序中全部函数及所述全部函数对应的函数信息集合,所述函数信息集合包括各函数的标识;所述终端将所述各函数的标识存储至预置的存储区;当所述终端执行所述目标程序时,每当执行到任一第一函数时,跳转到与所述任一第一函数的标识所对应的存储区,对所述任一第一函数的被执行的次数加1;所述终端根据所述存储区中的各函数的执行次数的记录信息,确定所述目标程序中的热点函数。第二方面,本专利技术实施例提供了一种热点函数确定的方法,包括:服务器接收终端发送的目标程序中的程序数据库文件PDB文件;所述服务器对所述PDB文件进行解析,得到所述目标程序中的全部函数;所述服务器确定所 ...
【技术保护点】
一种热点函数确定的方法,其特征在于,包括:终端获取目标程序中的程序数据库文件PDB文件;所述终端对所述目标程序中的PDB文件进行解析,得到所述目标程序中全部函数及所述全部函数对应的函数信息集合,所述函数信息集合包括各函数的标识;所述终端将所述各函数的标识存储至预置的存储区;当所述终端执行所述目标程序时,每当执行到任一第一函数时,跳转到与所述任一第一函数的标识所对应的存储区,对所述任一第一函数的被执行的次数加1;所述终端根据所述存储区中的各函数的执行次数的记录信息,确定所述目标程序中的热点函数。
【技术特征摘要】
1.一种热点函数确定的方法,其特征在于,包括:终端获取目标程序中的程序数据库文件PDB文件;所述终端对所述目标程序中的PDB文件进行解析,得到所述目标程序中全部函数及所述全部函数对应的函数信息集合,所述函数信息集合包括各函数的标识;所述终端将所述各函数的标识存储至预置的存储区;当所述终端执行所述目标程序时,每当执行到任一第一函数时,跳转到与所述任一第一函数的标识所对应的存储区,对所述任一第一函数的被执行的次数加1;所述终端根据所述存储区中的各函数的执行次数的记录信息,确定所述目标程序中的热点函数。2.根据权利要求1所述的方法,其特征在于,所述PDB文件还用于确定所述全部函数中的各第一函数,所述各第一函数为被hook后与执行次数具有跳转关系的函数;所述当所述终端执行所述目标程序之前,所述方法还包括:所述终端确定所述全部函数中的各第一函数。3.根据权利要求2所述的方法,其特征在于,所述终端确定所述全部函数中的各第一函数,包括:终端确定所述全部函数中的各第二函数,所述各第二函数为不能被hook的函数;终端根据所述各第二函数确定所述各第一函数,所述各第一函数为所述全部函数中除所述各第二函数之外的函数,所述各第一函数为能被hook的函数。4.根据权利要求3所述的方法,其特征在于,所述终端确定所述全部函数中的各第二函数,包括:所述终端获取所述目标程序的动态链接库DLL文件;所述终端通过IDA工具对所述DLL文件进行反汇编生成目标格式文件;所述终端对所述目标格式文件进行分析处理,分析出第二函数。5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:当所述终端执行所述目标程序时,每当执行到任一第二函数时,则继续执行下一个待执行的函数。6.根据权利要求3或4所述的方法,其特征在于,所述终端获取目标程序中的程序数据库文件PDB文件之后,在所述终端执行所述目标程序之前,所述方法还包括:所述终端将所述PDB文件发送至服务器,所述PDB文件用于所述服务器生成测试工具包,所述测试工具包为通过hook将函数记录操作注入到所述全部函数里而生成的执行文件;所述终端接收所述测试工具包,所述测试工具包用于对所述目标程序中的全部函数的执行次数进行测试。7.根据权利要求1至6任一项所述的方法,其特征在于,所述终端根据所述存储区中的各函数的执行次数的记录信息,确定所述目标程序中的热点函数,包括:所述终端获取对所述目标程序多次测试得出的多个记录信息;所述终端对所述多个记录信息中的各函数对应的的执行次数进行累加或者平均计算,得到各函数的累加或者平均计算后的执行次数;所述终端根据所述各函数的累加或者平均计算后的执行次数确定所述目标程序中的热点函数。8.一种热点函数确定的方法,其特征在于,包括:服务器接收终端发送的目标程序中的程序数据库文件PDB文件;所述服务器对所述PDB文件进行解析,得到所述目标程序中的全部函数;所述服务器确定所述全部函数中的各第一函数,所述各第一函数为与执行次数具有跳转关系的函数;所述服务器通过hook将函数记录操作注入到所述第一函数里生成测试工具包;所述服务器将所述测试工具包发送给所述终端,以使所述终端根据所述测试工具包对所述目标程序中的全部函数的执行次数进行测试,以确定所述目标程序中的热点函数。9.根据权利要求8所述的方法,其特征在于,所述服务器确定所述全部函数中的各第一函数,包括:所述服务器确定所述全部函数中的各第二函数,所述各第二函数为不能被hook的函数;所述服务器根据所述各第二函数确定所述各第一函数,所述第一函数为所述全部函数中除所述第二函数之外的函数,所述第一函数为能被hook的函数。10.根据权利要求9所述的方法,其特征在于,所述服务器确定所述全部函数中的各第二函数,包括:所述服务器获取所述目标程序的动态链接库DLL文件;所述服务器通过IDA工具对所述DLL文件进行反汇编生成目标格式文件;所述服务器对所述目标格式文件进行分析处理,分析出第二函数。11.根据权利要求8至10任一项所述的方法,所述方法还包括:所述服务器接收终端发送的多个记录信息;所述服务器对所述多个记录信息中的各函数的执行次数进行累加,得到各函数的累加后的执行次数;所述服务器根据所述各函数的累加后的执行次数确定所述目标程序中的热点函数。12.一种终端,其特征在于,包括:获取模块,用于获取目标程序中的程序数据库文...
【专利技术属性】
技术研发人员:党万春,张晓杰,毕研涛,魏学峰,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。