CN104598274A - 一种自动插桩编译安装方法及系统 - Google Patents
一种自动插桩编译安装方法及系统 Download PDFInfo
- Publication number
- CN104598274A CN104598274A CN201510015506.4A CN201510015506A CN104598274A CN 104598274 A CN104598274 A CN 104598274A CN 201510015506 A CN201510015506 A CN 201510015506A CN 104598274 A CN104598274 A CN 104598274A
- Authority
- CN
- China
- Prior art keywords
- file
- pitching pile
- compiling
- code
- projects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种自动插桩编译安装方法及系统,方法包括:从指定的项目工程中查找主程序文件,在所述主程序文件中添加用于保存代码覆盖率结果的覆盖率文件的保存位置,且添加当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码,获取设备关联文件,对所述设备关联文件进行解析得到设备关联文件标识,获取预设的设置开启覆盖率统计功能的编译配置文件;将插桩文件加入所述项目工程,并在所述代码文件中添加用于调用所述插桩文件代码的插桩入口函数,进行编译得到经过插桩的应用程序,如果所述打包选项设置为需要打包,则执行打包步骤否则执行程序安装步骤。本发明自动化执行项目工程的插桩和编译,提供了插桩编译的效率。
Description
技术领域
本发明涉及应用程序编译相关技术领域,特别是一种自动插桩编译安装方法及系统。
背景技术
程序插桩技术是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(又称为“探测仪”),通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,可以获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。
然而,现有的插桩技术,需要程序员或者测试人员往源代码中写入各种插桩命令,需要人力的频繁设置操作并进行编译安装,效率低下。
发明内容
基于此,有必要针对现有技术的插桩需要人工写入插桩命令及进行编译安装的技术问题,提供一种自动插桩编译安装方法及系统。
一种自动插桩编译安装方法,包括:
覆盖率功能添加步骤,包括:从指定的项目工程中查找主程序文件,在所述主程序文件中添加用于保存代码覆盖率结果的覆盖率文件的保存位置,且添加当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码,所述代码覆盖率结果在执行覆盖率统计功能后得到,获取设备关联文件,对所述设备关联文件进行解析得到设备关联文件标识,获取预设的设置开启覆盖率统计功能的编译配置文件,执行插桩处理步骤;
插桩处理步骤,包括:如果所述项目工程不需要进行插桩,则执行项目工程编译步骤,否则将所述插桩文件加入所述项目工程,并在所述代码文件中添加用于调用所述插桩文件代码的插桩入口函数,执行项目工程编译步骤;
项目工程编译步骤,包括:根据获取的项目工程目标名称对所述项目工程采用所述编译配置文件进行编译得到经过插桩的应用程序,如果所述打包选项设置为需要打包,则执行程序打包步骤,否则执行程序安装步骤;
程序打包步骤,包括:将编译完的应用程序打包成包文件;
程序安装步骤,包括:获取待安装移动设备的设备标识,将所述经过插桩的应用程序安装到由所述设备标识指定的所述移动设备上。
一种自动插桩编译安装系统,包括:
覆盖率功能添加模块,用于:从指定的项目工程中查找主程序文件,在所述主程序文件中添加用于保存代码覆盖率结果的覆盖率文件的保存位置,且添加当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码,所述代码覆盖率结果在执行覆盖率统计功能后得到,获取设备关联文件,对所述设备关联文件进行解析得到设备关联文件标识,获取预设的设置开启覆盖率统计功能的编译配置文件,执行插桩处理模块;
插桩处理模块,用于:如果所述项目工程不需要进行插桩,则执行项目工程编译模块,否则将所述插桩文件加入所述项目工程,并在所述代码文件中添加用于调用所述插桩文件代码的插桩入口函数,执行项目工程编译模块;
项目工程编译模块,用于:根据获取的项目工程目标名称对所述项目工程采用所述编译配置文件进行编译得到经过插桩的应用程序,如果所述打包选项设置为需要打包,则执行程序打包模块,否则执行程序安装模块;
程序打包模块,用于:将编译完的应用程序打包成包文件;
程序安装模块,用于:获取待安装移动设备的设备标识,将所述经过插桩的应用程序安装到由所述设备标识指定的所述移动设备上。
本发明通过获取插桩文件,将插桩文件的入口函数写入代码文件中,并将插桩文件加入项目工程后进行编译,则编译后的应用程序则能对插桩文件的代码进行调用,实现插桩功能。本发明自动化执行项目工程的插桩和编译,提高了插桩编译的效率。
附图说明
图1为本发明的一种自动插桩编译安装方法的工作流程图;
图2为本发明最佳实施例的工作流程图;
图3为本发明的一种自动插桩编译安装系统的结构模块图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示为本发明的一种自动插桩编译安装方法的工作流程图,包括:
步骤S101,包括:从指定的项目工程中查找主程序文件,在所述主程序文件中添加用于保存代码覆盖率结果的覆盖率文件的保存位置,且添加当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码,所述代码覆盖率结果在执行覆盖率统计功能后得到,获取设备关联文件,对所述设备关联文件进行解析得到设备关联文件标识,获取预设的设置开启覆盖率统计功能的编译配置文件,执行步骤S102;
步骤S102,包括:如果所述项目工程不需要进行插桩,则执行步骤S103,否则将所述插桩文件加入所述项目工程,并在所述代码文件中添加用于调用所述插桩文件代码的插桩入口函数,执行步骤S103;
步骤S103,包括:根据获取的项目工程目标名称对所述项目工程采用所述编译配置文件进行编译得到经过插桩的应用程序,如果所述打包选项设置为需要打包,则执行步骤S104,否则执行步骤S105;
步骤S104,包括:将编译完的应用程序打包成包文件;
步骤S105,包括:获取待安装移动设备的设备标识,将所述经过插桩的应用程序安装到由所述设备标识指定的所述移动设备上。
其中,保存位置指定用于保存覆盖率文件的位置,主程序文件对于IOS项目及其他例如安卓项目来说,一般为main文件。同时,将一段预先写好的当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码添加在main文件中,则当应用程序退出时,会写入覆盖率数据。
在步骤S102中,当需要进行插桩,则获取用户预先生成的插桩文件,插桩文件包括用于插桩的代码,同时,用户还需要指定具体的插桩入口函数;在代码文件中写入相应的插桩入口函数,则在经过步骤S103编译后的应用程序,在运行至待插入位置时,能通过插桩入口函数调用插桩文件的代码,从而既实现覆盖率功能,也实现插桩功能。
在其中一个实施例中,步骤S102,具体包括:
插桩文件获取子步骤,包括:获取用于对项目工程内的代码文件进行插桩的插桩文件、用于调用所述插桩文件代码的插桩入口函数,以及所述插桩入口函数在所述代码文件中的待插入位置;
插桩入口函数写入子步骤,包括:在所述代码文件的待插入位置写入相应的插桩入口函数;
插桩文件添加子步骤,包括:将所述插桩文件加入所述项目工程。
本实施例,待插入位置由用户指定。
优选地,所述插桩入口函数写入子步骤,具体包括:
获取与所述待插入位置关联的关键词以及文件名;
在所述文件名对应的代码文件中查找所述关键词,所述关键词在所述文件名对应的代码文件中的位置为所述待插入位置;
在所述待插入位置插入所述插桩入口函数。
在步骤S102中,获取用户预先指定的关键词,在文件中查找与关键词匹配的位置,并插入插桩入口函数。
在其中一个实施例中,还包括:
在执行步骤S103前,从所述项目工程中查找项目列表文件,设置开启共享文件夹选项,设置程序切换到后台终止程序选项。
设置开启共享文件夹选项,用户能够查看应用程序共享文件夹里的内容,获得覆盖率文件,从而得到代码覆盖率结果。对于IOS项目,用户通过itunes获得覆盖率文件。
设置程序切换到后台终止程序选项,则当用户将应用程序切换到后台时,应用程序退出,触发写入覆盖率数据的代码,向覆盖率文件写入覆盖率数据。对于IOS项目,用户通过home键将应用程序切换到后台。
本实施例的方式,方便用户得到代码覆盖率结果。
在其中一个实施例中,所述步骤S104,具体包括:
将所述经过插桩的应用程序采用所述设备关联文件标识进行打包后保存在所述项目工程中。其中,设备关联文件,对于IOS项目来说,具体为provision文件,是苹果移动设备app与设备相关联的文件。
打包选项由用户设置,对于IOS项目来说,当需要打包时,则将应用程序根据设备管理文件标识(provision ID)打包保存,当不需要打包时,则将应用程序直接安装到移动设备上。
如图2所示为本发明最佳实施例的工作流程图,对IOS项目进行插桩编译,采用shell编写代码,包括:
步骤S201,shell读取用户传入的参数,包括参数1:项目工程路径、参数2:项目工程的target名称、参数3:provision文件路径;
步骤S202,通过参数1找到.main文件,添加覆盖率文件保存位置,以及异常退出时,写入覆盖率数据的代码,通过参数1找到项目info.pl is t文件,设置开启共享文件夹选项,设置按home键终止程序选项,通过参数3获取provision文件,并解析provision文件,获取provis ion id;步骤S203,判断是否需要插入插桩代码,若需要,执行步骤S204,否则执行步骤S205;
步骤S204,获取指定的插桩文件,利用mod-pbxproj-master将插桩文件添加到项目工程中,同时利用sed命令在指定的代码文件中匹配关键词,在关键词所在的前一行或者后一行,添加插桩入口函数;
步骤S205,进入项目工程目录,执行xcode命令行工具xcodebuild,输入参数2的target名称、sdk版本号、模式、provisionid、以及预先准备的xcconfig文件,执行编译过程,得到经过插桩的应用程序的.app文件,其中xcconfig文件为编译配置文件,在xcconfig文件中设置开启覆盖率统计功能;
步骤S206,判断是否需要ipa打包,如果需要执行步骤S207,否则执行步骤S208;
步骤S207,通过xcrun命令,输入刚才编译完生成的.app文件,以及provision id,执行打包过程,在项目工程根目录下build目录下生成.ipa的打包文件;
步骤S208,获取当前连接设备的设备号,通过fruitstrap,输入设备号,刚才编译完生成的.app文件路径,执行安装过程。
上述中:
xcode是苹果公司操作系统上运行的一套开发工具,用来开发iphone和mac的应用程序;
shell是一种linux的脚本运行环境;
provision文件是苹果移动设备的应用程序与设备相关联的设备关联文件,设备关联文件标识即provision ID;
ipa是苹果移动设备应用安装包后缀名。
如图3所示为本发明一种自动插桩编译安装系统的结构模块图,包括:
覆盖率功能添加模块301,用于:从指定的项目工程中查找主程序文件,在所述主程序文件中添加用于保存代码覆盖率结果的覆盖率文件的保存位置,且添加当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码,所述代码覆盖率结果在执行覆盖率统计功能后得到,获取设备关联文件,对所述设备关联文件进行解析得到设备关联文件标识,获取预设的设置开启覆盖率统计功能的编译配置文件,执行插桩处理模块302;
插桩处理模块302,用于:如果所述项目工程不需要进行插桩,则执行项目工程编译模块303,否则将所述插桩文件加入所述项目工程,并在所述代码文件中添加用于调用所述插桩文件代码的插桩入口函数,执行项目工程编译模块303;
项目工程编译模块303,用于:根据获取的项目工程目标名称对所述项目工程采用所述编译配置文件进行编译得到经过插桩的应用程序,如果所述打包选项设置为需要打包,则执行程序打包模块304,否则执行程序安装模块305;
程序打包模块304,用于:将编译完的应用程序打包成包文件;
程序安装模块305,用于:获取待安装移动设备的设备标识,将所述经过插桩的应用程序安装到由所述设备标识指定的所述移动设备上。
在其中一个实施例中,所述插桩入口函数写入子模块,具体用于:
获取与所述待插入位置关联的关键词以及文件名;
在所述文件名对应的代码文件中查找所述关键词,所述关键词在所述文件名对应的代码文件中的位置为所述待插入位置;
在所述待插入位置插入所述插桩入口函数。
在其中一个实施例中,还包括:
项目文件设置模块,用于:在执行项目工程编译模块前,从所述项目工程中查找项目列表文件,将共享文件夹选项的值设置为开启,将切换到后台退出选项的值设置为开启。
在其中一个实施例中,所述程序打包模块304,具体用于:
将所述经过插桩的应用程序采用所述设备关联文件标识进行打包后保存在所述项目工程中。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自动插桩编译安装方法,其特征在于,包括:
覆盖率功能添加步骤,包括:从指定的项目工程中查找主程序文件,在所述主程序文件中添加用于保存代码覆盖率结果的覆盖率文件的保存位置,且添加当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码,所述代码覆盖率结果在执行覆盖率统计功能后得到,获取设备关联文件,对所述设备关联文件进行解析得到设备关联文件标识,获取预设的设置开启覆盖率统计功能的编译配置文件,执行插桩处理步骤;
插桩处理步骤,包括:如果所述项目工程不需要进行插桩,则执行项目工程编译步骤,否则将所述插桩文件加入所述项目工程,并在所述代码文件中添加用于调用所述插桩文件代码的插桩入口函数,执行项目工程编译步骤;
项目工程编译步骤,包括:根据获取的项目工程目标名称对所述项目工程采用所述编译配置文件进行编译得到经过插桩的应用程序,如果所述打包选项设置为需要打包,则执行程序打包步骤否则执行程序安装步骤;
程序打包步骤,包括:将编译完的应用程序打包成包文件;
程序安装步骤,包括:获取待安装移动设备的设备标识,将所述经过插桩的应用程序安装到由所述设备标识指定的所述移动设备上。
2.根据权利要求1所述的自动插桩编译安装方法,其特征在于,所述插桩处理步骤,具体包括:
插桩文件获取子步骤,包括:获取用于对项目工程内的代码文件进行插桩的插桩文件、用于调用所述插桩文件代码的插桩入口函数,以及所述插桩入口函数在所述代码文件中的待插入位置;
插桩入口函数写入子步骤,包括:在所述代码文件的待插入位置写入相应的插桩入口函数;
插桩文件添加子步骤,包括:将所述插桩文件加入所述项目工程。
3.根据权利要求2所述的自动插桩编译安装方法,其特征在于,所述插桩入口函数写入子步骤,具体包括:
获取与所述待插入位置关联的关键词以及文件名;
在所述文件名对应的代码文件中查找所述关键词,所述关键词在所述文件名对应的代码文件中的位置为所述待插入位置;
在所述待插入位置插入所述插桩入口函数。
4.根据权利要求1所述的自动插桩编译安装方法,其特征在于,还包括:
在执行项目工程编译步骤前,从所述项目工程中查找项目列表文件,设置开启共享文件夹选项,设置程序切换到后台终止程序选项。
5.根据权利要求1所述的自动插桩编译安装方法,其特征在于,所述程序打包步骤,具体包括:
将所述经过插桩的应用程序采用所述设备关联文件标识进行打包后保存在所述项目工程中。
6.一种自动插桩编译安装系统,其特征在于,包括:
覆盖率功能添加模块,用于:从指定的项目工程中查找主程序文件,在所述主程序文件中添加用于保存代码覆盖率结果的覆盖率文件的保存位置,且添加当程序异常退出时,向所述保存位置的覆盖率文件写入覆盖率数据的代码,所述代码覆盖率结果在执行覆盖率统计功能后得到,获取设备关联文件,对所述设备关联文件进行解析得到设备关联文件标识,获取预设的设置开启覆盖率统计功能的编译配置文件,执行插桩处理模块;
插桩处理模块,用于:如果所述项目工程不需要进行插桩,则执行项目工程编译模块,否则将所述插桩文件加入所述项目工程,并在所述代码文件中添加用于调用所述插桩文件代码的插桩入口函数,执行项目工程编译模块;
项目工程编译模块,用于:根据获取的项目工程目标名称对所述项目工程采用所述编译配置文件进行编译得到经过插桩的应用程序,如果所述打包选项设置为需要打包,则执行程序打包模块,否则执行程序安装模块;
程序打包模块,用于:将编译完的应用程序打包成包文件;
程序安装模块,用于:获取待安装移动设备的设备标识,将所述经过插桩的应用程序安装到由所述设备标识指定的所述移动设备上。
7.根据权利要求6所述的自动插桩编译安装系统,其特征在于,所述插桩处理模块,具体包括:
插桩文件获取子模块,用于:获取用于对项目工程内的代码文件进行插桩的插桩文件、用于调用所述插桩文件代码的插桩入口函数,以及所述插桩入口函数在所述代码文件中的待插入位置;
插桩入口函数写入子模块,用于:在所述代码文件的待插入位置写入相应的插桩入口函数;
插桩文件添加子模块,用于:将所述插桩文件加入所述项目工程。
8.根据权利要求7所述的自动插桩编译安装系统,其特征在于,所述插桩入口函数写入子模块,具体用于:
获取与所述待插入位置关联的关键词以及文件名;
在所述文件名对应的代码文件中查找所述关键词,所述关键词在所述文件名对应的代码文件中的位置为所述待插入位置;
在所述待插入位置插入所述插桩入口函数。
9.根据权利要求6所述的自动插桩编译安装系统,其特征在于,还包括:
项目文件设置模块,用于:在执行项目工程编译模块前,从所述项目工程中查找项目列表文件,设置开启共享文件夹选项,设置程序切换到后台终止程序选项。
10.根据权利要求6所述的自动插桩编译安装系统,其特征在于,所述程序打包模块,具体用于:
将所述经过插桩的应用程序采用所述设备关联文件标识进行打包后保存在所述项目工程中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015506.4A CN104598274B (zh) | 2015-01-13 | 2015-01-13 | 一种自动插桩编译安装方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015506.4A CN104598274B (zh) | 2015-01-13 | 2015-01-13 | 一种自动插桩编译安装方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598274A true CN104598274A (zh) | 2015-05-06 |
CN104598274B CN104598274B (zh) | 2017-07-18 |
Family
ID=53124092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510015506.4A Active CN104598274B (zh) | 2015-01-13 | 2015-01-13 | 一种自动插桩编译安装方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598274B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589805A (zh) * | 2015-12-16 | 2016-05-18 | 北京奇虎科技有限公司 | 一种代码覆盖率报告的生成方法和装置 |
CN105630670A (zh) * | 2015-12-16 | 2016-06-01 | 北京奇虎科技有限公司 | 一种代码覆盖率的测试方法和装置 |
CN106294114A (zh) * | 2015-06-08 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种代码覆盖率获取方法、服务器及待测应用装置 |
CN106776266A (zh) * | 2015-11-25 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 测试工具的配置方法及终端设备 |
CN106844219A (zh) * | 2017-02-15 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 应用检测方法及应用检测装置 |
CN109189607A (zh) * | 2018-08-13 | 2019-01-11 | 南京翼辉信息技术有限公司 | 一种应用程序断点恢复的方法 |
CN110245073A (zh) * | 2019-05-21 | 2019-09-17 | 北京字节跳动网络技术有限公司 | 终端代码覆盖率监测方法、系统、介质和电子设备 |
CN111026630A (zh) * | 2018-10-09 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 代码覆盖率的统计方法、装置和系统 |
CN111831316A (zh) * | 2020-07-21 | 2020-10-27 | 北京字节跳动网络技术有限公司 | 一种软件开发包更新方法及装置 |
WO2021135947A1 (zh) * | 2019-12-31 | 2021-07-08 | Oppo广东移动通信有限公司 | 热点代码处理方法、装置、电子设备及存储介质 |
CN113254112A (zh) * | 2021-04-29 | 2021-08-13 | 杭州天谷信息科技有限公司 | 一种请求和接口的关联方法及系统 |
CN113885879A (zh) * | 2021-10-25 | 2022-01-04 | 上海商米科技集团股份有限公司 | 字节码插桩方法、系统和字节码插桩插件框架 |
CN114327491A (zh) * | 2022-03-07 | 2022-04-12 | 深圳开源互联网安全技术有限公司 | 源码插桩方法、装置、计算机设备和存储介质 |
CN115794651A (zh) * | 2022-12-21 | 2023-03-14 | 北京水木羽林科技有限公司 | 一种支持多二进制的无冲突插桩方法和系统 |
CN116483734A (zh) * | 2023-06-16 | 2023-07-25 | 荣耀终端有限公司 | 一种基于编译器的插桩方法、系统及相关电子设备 |
CN116775040A (zh) * | 2023-08-16 | 2023-09-19 | 北京安普诺信息技术有限公司 | 实现代码疫苗的插桩方法及基于代码疫苗的应用测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408862A (zh) * | 2007-10-12 | 2009-04-15 | 李周 | 一种嵌入式系统测试方法 |
CN102298552A (zh) * | 2011-09-19 | 2011-12-28 | 南京大学 | 基于代码查询进行源代码插桩的方法 |
US20120246627A1 (en) * | 2011-03-24 | 2012-09-27 | International Business Machines Corporation | Adding Instrumentation to a Body of Code to Enable Generation of Code Coverage Data |
CN103049504A (zh) * | 2012-12-11 | 2013-04-17 | 南京大学 | 基于源代码查询的半自动插桩方法 |
CN103970659A (zh) * | 2014-05-16 | 2014-08-06 | 刘玉光 | 基于插桩技术的安卓应用软件自动化测试方法 |
-
2015
- 2015-01-13 CN CN201510015506.4A patent/CN104598274B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408862A (zh) * | 2007-10-12 | 2009-04-15 | 李周 | 一种嵌入式系统测试方法 |
US20120246627A1 (en) * | 2011-03-24 | 2012-09-27 | International Business Machines Corporation | Adding Instrumentation to a Body of Code to Enable Generation of Code Coverage Data |
CN102298552A (zh) * | 2011-09-19 | 2011-12-28 | 南京大学 | 基于代码查询进行源代码插桩的方法 |
CN103049504A (zh) * | 2012-12-11 | 2013-04-17 | 南京大学 | 基于源代码查询的半自动插桩方法 |
CN103970659A (zh) * | 2014-05-16 | 2014-08-06 | 刘玉光 | 基于插桩技术的安卓应用软件自动化测试方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294114A (zh) * | 2015-06-08 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种代码覆盖率获取方法、服务器及待测应用装置 |
CN106776266A (zh) * | 2015-11-25 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 测试工具的配置方法及终端设备 |
CN105589805B (zh) * | 2015-12-16 | 2019-12-24 | 北京奇虎科技有限公司 | 一种代码覆盖率报告的生成方法和装置 |
CN105630670A (zh) * | 2015-12-16 | 2016-06-01 | 北京奇虎科技有限公司 | 一种代码覆盖率的测试方法和装置 |
CN105589805A (zh) * | 2015-12-16 | 2016-05-18 | 北京奇虎科技有限公司 | 一种代码覆盖率报告的生成方法和装置 |
CN106844219A (zh) * | 2017-02-15 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 应用检测方法及应用检测装置 |
CN106844219B (zh) * | 2017-02-15 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 应用检测方法及应用检测装置 |
CN109189607B (zh) * | 2018-08-13 | 2020-08-04 | 南京翼辉信息技术有限公司 | 一种应用程序断点恢复的方法 |
CN109189607A (zh) * | 2018-08-13 | 2019-01-11 | 南京翼辉信息技术有限公司 | 一种应用程序断点恢复的方法 |
CN111026630A (zh) * | 2018-10-09 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 代码覆盖率的统计方法、装置和系统 |
CN111026630B (zh) * | 2018-10-09 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 代码覆盖率的统计方法、装置和系统 |
CN110245073A (zh) * | 2019-05-21 | 2019-09-17 | 北京字节跳动网络技术有限公司 | 终端代码覆盖率监测方法、系统、介质和电子设备 |
WO2021135947A1 (zh) * | 2019-12-31 | 2021-07-08 | Oppo广东移动通信有限公司 | 热点代码处理方法、装置、电子设备及存储介质 |
CN111831316A (zh) * | 2020-07-21 | 2020-10-27 | 北京字节跳动网络技术有限公司 | 一种软件开发包更新方法及装置 |
CN113254112A (zh) * | 2021-04-29 | 2021-08-13 | 杭州天谷信息科技有限公司 | 一种请求和接口的关联方法及系统 |
CN113885879A (zh) * | 2021-10-25 | 2022-01-04 | 上海商米科技集团股份有限公司 | 字节码插桩方法、系统和字节码插桩插件框架 |
CN114327491A (zh) * | 2022-03-07 | 2022-04-12 | 深圳开源互联网安全技术有限公司 | 源码插桩方法、装置、计算机设备和存储介质 |
CN115794651A (zh) * | 2022-12-21 | 2023-03-14 | 北京水木羽林科技有限公司 | 一种支持多二进制的无冲突插桩方法和系统 |
CN115794651B (zh) * | 2022-12-21 | 2023-08-18 | 北京水木羽林科技有限公司 | 一种支持多二进制的无冲突插桩方法和系统 |
CN116483734A (zh) * | 2023-06-16 | 2023-07-25 | 荣耀终端有限公司 | 一种基于编译器的插桩方法、系统及相关电子设备 |
CN116483734B (zh) * | 2023-06-16 | 2024-03-19 | 荣耀终端有限公司 | 一种基于编译器的插桩方法、系统及相关电子设备 |
CN116775040A (zh) * | 2023-08-16 | 2023-09-19 | 北京安普诺信息技术有限公司 | 实现代码疫苗的插桩方法及基于代码疫苗的应用测试方法 |
CN116775040B (zh) * | 2023-08-16 | 2023-11-17 | 北京安普诺信息技术有限公司 | 实现代码疫苗的插桩方法及基于代码疫苗的应用测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104598274B (zh) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598274A (zh) | 一种自动插桩编译安装方法及系统 | |
CN102495789B (zh) | 一种自动化测试方法和设备 | |
CN107797923B (zh) | 代码覆盖率分析方法及应用服务器 | |
CN103631707B (zh) | 一种获取代码覆盖率的方法及装置 | |
CN110083360B (zh) | 一种应用程序代码的编译方法、装置、设备及存储介质 | |
CN105468797B (zh) | 一种信息处理方法及装置 | |
CN105302554A (zh) | 一种Android系统自动化程序构建方法及系统 | |
CN110543427B (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN107632901A (zh) | 一种应用程序运行异常的自修复方法及装置 | |
CN109614107B (zh) | 一种软件开发工具包的集成方法和装置 | |
CN103399814A (zh) | 自动化测试的方法及装置 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
CN104133699A (zh) | 设备系统软件升级方法与系统 | |
CN108446224B (zh) | 移动端上应用程序的性能分析方法、存储介质 | |
CN103942140A (zh) | 一种测试程序自动转换方法 | |
WO2015003452A1 (en) | Methods and systems for file processing | |
US9116714B2 (en) | Methods and systems for file processing | |
CN104063306B (zh) | 智能终端软件测试中的自动登录方法、装置和系统 | |
CN109347578A (zh) | 射频性能测试方法、装置、计算机设备和可读存储介质 | |
CN113407932B (zh) | 一种渠道标识的上报方法、系统及存储介质 | |
CN112905443B (zh) | 一种测试用例生成方法、设备及存储介质 | |
CN111857752A (zh) | 一种PostgreSQL数据库安装方法、装置及设备 | |
CN109561121B (zh) | 监控部署的方法及装置 | |
CN110147313A (zh) | 一种日志输出方法及装置 | |
CN114385493A (zh) | 一种性能测试方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |