[发明专利]文件执行方法、装置、存储介质和电子设备有效
申请号: | 201910785799.2 | 申请日: | 2019-08-23 |
公开(公告)号: | CN110633210B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 朱学文 | 申请(专利权)人: | 北京三快在线科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/445 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 张岩龙 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 执行 方法 装置 存储 介质 电子设备 | ||
本公开涉及一种文件执行方法、装置、存储介质和电子设备,以解决相关技术中软件测试环境存在的性能限制,并且软件测试过程的可维护性和可拓展性差的技术问题,该方法包括:根据文件的加载命令在虚拟内存中的虚拟内存地址和加载命令的相对接口地址,确定该文件的基准接口地址;响应于该文件中的第一函数的运行过程被触发,根据该基准接口地址确定第一函数的第一实际接口地址和第一函数调用的每个第二函数的第二实际接口地址;通过该第一实际接口地址和每个该第二实际接口地址执行第一函数。能够在虚拟化运行环境中对执行文件所需的接口地址进行重定向,以实现文件的虚拟化执行,避免软件测试环境的性能限制,提高软件测试的可维护性和可拓展性。
技术领域
本公开涉及软件测试领域,具体地,涉及一种文件执行方法、装置、存储介质和电子设备。
背景技术
随着互联网技术的发展,Apple(苹果公司)的电子产品产销全球,基于苹果公司的iOS系统和Mac OS X系统进行软件开发的需求不断提高,同样地,对于iOS系统和Mac OS X系统平台上的软件产品进行虚拟化测试的需求也不断提高。iOS系统和Mac OS X系统为基于Mach核心的非开源的封闭式操作系统。大部分基于Mach核心的操作系统,例如,NeXTSTEP系统,Darwin系统以及上述的iOS系统和Mac OS X系统等,都使用Mach-O文件格式作为其原生可执行文件、库和目标代码的格式。
发明内容
本公开的主要目的是提供一种文件执行方法、装置、存储介质和电子设备,以解决相关技术中软件测试环境存在的性能限制,并且软件测试过程的可维护性和可拓展性差的技术问题。
为了实现上述目的,本公开第一方面提供一种文件执行方法,所述方法包括:
根据目标文件的加载命令在虚拟内存中的虚拟内存地址和所述加载命令的相对接口地址,确定所述目标文件的基准接口地址;
响应于所述目标文件中的第一函数的运行过程被触发,根据所述基准接口地址确定所述第一函数的第一实际接口地址和所述第一函数调用的每个第二函数的第二实际接口地址;
通过所述第一实际接口地址和每个所述第二实际接口地址执行所述第一函数。
可选的,所述目标文件为Mach Object文件,所述根据目标文件的加载命令在虚拟内存中的虚拟内存地址和所述加载命令的相对接口地址,确定所述目标文件的基准接口地址,包括:
在将所述目标文件加载至所述虚拟内存的过程中,记录所述加载命令中的目标分段在所述虚拟内存中所处的地址,作为所述虚拟内存地址,所述目标分段为所述加载命令中的任一分段;
获取所述目标分段中记录的相对接口地址,作为所述加载命令的相对接口地址;
将所述虚拟内存地址和所述加载命令的相对接口地址的差值,作为所述基准接口地址。
可选的,在所述响应于所述目标文件中的第一函数的运行过程被触发,根据所述基准接口地址确定所述第一函数的第一实际接口地址和所述第一函数调用的每个第二函数的第二实际接口地址之前,所述方法还包括:
根据所述目标文件中记录的依赖库信息,将与所述目标文件相关的目标依赖库导入至所述虚拟内存,所述目标依赖库包含执行所述目标文件所需的外部函数。
可选的,所述响应于所述目标文件中的第一函数的运行过程被触发,根据所述基准接口地址确定所述第一函数的第一实际接口地址和所述第一函数调用的每个第二函数的第二实际接口地址,包括:
响应于所述目标文件中的第一函数被调用,根据所述基准接口地址和所述目标文件中记录的所述第一函数的相对接口地址,确定所述第一实际接口地址;
根据所述基准接口地址以及所述每个第二函数与所述目标依赖库或所述目标文件的包含关系,确定所述每个第二函数的第二实际接口地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910785799.2/2.html,转载请声明来源钻瓜专利网。