CN114968779A - 一种面向代码的应用程序性能分析方法及系统 - Google Patents
一种面向代码的应用程序性能分析方法及系统 Download PDFInfo
- Publication number
- CN114968779A CN114968779A CN202210569917.8A CN202210569917A CN114968779A CN 114968779 A CN114968779 A CN 114968779A CN 202210569917 A CN202210569917 A CN 202210569917A CN 114968779 A CN114968779 A CN 114968779A
- Authority
- CN
- China
- Prior art keywords
- function
- code
- application program
- variable
- performance
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种面向代码的应用程序性能分析方法及系统,本发明方法包括针对被测试的目标应用程序,通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码,所述性能测试专用目标代码具有将执行过程信息输出到指定的输出文件的功能;运行性能测试专用目标代码,并针对运行性能测试专用目标代码得到的指定的输出文件,统计输出文件中的执行过程信息,得到目标应用程序的性能分析结果。本发明能够基于应用程序源代码对代码性能进行精确分析的问题,提升性能分析精度,可适用于各类递归调用或内联的函数,兼容性好,可针对任意目标应用程序实现应用程序性能分析。
Description
技术领域
本发明属于程序的代码性能分析技术,具体涉及一种面向代码的应用程序性能分析方法及系统。
背景技术
目前针对计算能力有限的计算机平台情况,要实现代码性能分析的精确度提高,存在难度大的问题。例如在国产Linux操作系统上,基于集成开发环境,通过性能分析,实现分层多粒度下的代码性能分析,寻找性能瓶颈,查找引发性能问题的原因,提升性能分析完整度,由于计算能力有限就会存在难度大的问题。现有的面向应用程序的性能分析工具gprof只能分析出代码中每个函数的调用次数、每个函数消耗的处理器时间等,对于递归调用的函数,其执行时间不包括其子函数的执行实际时间,所以不适合分析大量递归调用的程序,并且也不能处理内联函数。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向代码的应用程序性能分析方法及系统,本发明能够基于应用程序源代码对代码性能进行精确分析的问题,提升性能分析精度,可适用于各类递归调用或内联的函数,兼容性好,可针对任意目标应用程序实现应用程序性能分析。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向代码的应用程序性能分析方法,包括:
1)针对被测试的目标应用程序,通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码,所述性能测试专用目标代码具有将执行过程信息输出到指定的输出文件的功能;
2)运行性能测试专用目标代码,并针对运行性能测试专用目标代码得到的指定的输出文件,统计输出文件中的执行过程信息,从而得到目标应用程序的性能分析结果。
可选地,所述将执行过程信息输出到指定的输出文件具体是指将执行过程中所执行的变量、函数以及汇编指令的信息输出到指定的输出文件,且变量的信息包括全局变量和局部变量的名称,函数的信息包括函数的名称、函数入口以及函数结尾的位置。
可选地,步骤1)中通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码时,包括在编译器的前端,识别出源代码中的变量和函数,确定变量的类型为全局变量或局部变量,并确定函数的函数入口和函数结尾的位置,并根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记,所述标记用于在性能测试专用目标代码执行时将对应的变量、函数、函数入口或函数结尾的信息作为执行过程信息输出到指定的输出文件。
可选地,所述根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记时,包括为局部变量采用局部变量标记标注,为全局变量采用全局变量标记标注,为函数采用函数标记标注,为函数的函数入口采用函数入口标记标注,为函数的函数结尾采用函数结尾标记标注。
可选地,所述根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记后,还包括针对添加的标记进行语法和词法检查的步骤,若添加的标记符合语法规则,则继续往下执行,否则将不符合规则的关键词进行修正后往下执行。
可选地,步骤1)中通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码时,还包括在编译器的后端,为全部或者指定的部分汇编指令添加标记,并为性能测试专用目标代码添加标记垃圾回收功能模块,所述标记垃圾回收功能模块用于分别对各个变量、函数、函数入口、函数结尾以及汇编指令的标记进行统计,以统计出变量的内存使用大小、变量的使用次数、函数的开始与结束运行时间以及汇编指令使用次数,并在完成统计后将标记视为垃圾进行回收以减少对内存的使用。
可选地,步骤2)中运行性能测试专用目标代码得到的输出文件中记录有各个变量的内存使用大小、变量的使用次数、函数的开始与结束运行时间以及汇编指令使用次数。
可选地,步骤2)中统计输出文件中的执行过程信息时,还包括分别计算各个函数的运行所用时间,以及运行所用时间占用性能测试专用目标代码的总运行时间的比例,将所有的函数、函数入口、函数结尾生成函数索引文件,并根据函数索引文件生成不同函数之间的函数调用关系,以添加到目标应用程序的性能分析结果,所述函数的运行所用时间为函数的开始与结束运行时间之差。
此外,本发明还提供一种面向代码的应用程序性能分析系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述面向代码的应用程序性能分析方法的步骤。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行前述面向代码的应用程序性能分析方法的步骤。
和现有技术相比,本发明具有下述优点:
1、本发明通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码,所述性能测试专用目标代码具有将执行过程信息输出到指定的输出文件的功能,通过统计输出文件中的执行过程信息即可得到目标应用程序的性能分析结果,能够基于应用程序源代码对代码性能进行精确分析的问题,提升性能分析精度,可适用于各类递归调用或内联的函数。
2、本发明基于性能测试专用目标代码具有将执行过程信息来实现目标应用程序的性能分析,执行过程信息可包括从变量、函数、汇编指令、代码行等多个水平层次进行代码分析,为软件代码调优提供支撑,提升性能分析精度。
3、本发明通过预设的编译选项编译为对应的性能测试专用目标代码,不涉及对目标应用程序的修改,兼容性好,可针对任意目标应用程序实现应用程序性能分析。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中编译器的功能改进示意图。
具体实施方式
如图1所示,本实施例面向代码的应用程序性能分析方法,包括:
1)针对被测试的目标应用程序,通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码,所述性能测试专用目标代码具有将执行过程信息输出到指定的输出文件的功能;
2)运行性能测试专用目标代码,并针对运行性能测试专用目标代码得到的指定的输出文件,统计输出文件中的执行过程信息,从而得到目标应用程序的性能分析结果。
本发明基于性能测试专用目标代码具有将执行过程信息来实现目标应用程序的性能分析,执行过程信息可包括从变量、函数、汇编指令、代码行等多个水平层次进行代码分析,为软件代码调优提供支撑,提升性能分析精度。作为一种可选的实施方式,本实施例中,将执行过程信息输出到指定的输出文件具体是指将将执行过程中所执行的变量、函数以及汇编指令的信息输出到指定的输出文件,且变量的信息包括全局变量和局部变量的名称,函数的信息包括函数的名称、函数入口以及函数结尾的位置,即主要从变量、函数以及汇编指令的多个水平层次进行性能分析,为软件代码调优提供支撑,提升性能分析精度。
本实施例中,步骤1)中通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码时,包括在编译器的前端,识别出源代码中的变量和函数,确定变量的类型为全局变量或局部变量,并确定函数的函数入口和函数结尾的位置,并根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记,所述标记用于在性能测试专用目标代码执行时将对应的变量、函数、函数入口或函数结尾的信息作为执行过程信息输出到指定的输出文件。如图2所示,在编译器的前端,针对各个变量、函数及其函数入口和函数结尾添加的标记分别为变量标记、函数标记、函数入口标记和函数结尾标记。
需要说明的是,预设的编译选项编译可根据需要进行人为指定,只有开启上述预设的编译选项编译,才会执行变量和函数的标记操作,以及下文提及的汇编指令的标记,以及添加标记垃圾回收功能模块的操作。如果不开启上述预设的编译选项编译,则编译器会执行正常的编译操作,将被测试的目标应用程序编译为正常执行的目标代码。
需要说明的是,添加标记所设定的规则可根据需要进行人为制定。例如作为一种可选的实施方式,本实施例中根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记时,包括为局部变量采用局部变量标记lx标注,为全局变量采用全局变量标记gx标注,为函数采用函数标记fx标注,为函数的函数入口采用函数入口标记sx标注,为函数的函数结尾采用函数结尾标记tx标注。毫无疑问,也可以采用其他标记,只要能够达到区分也不影响编译即可。
本实施例中,所述根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记后,还包括针对添加的标记进行语法和词法检查的步骤,若添加的标记符合语法规则,则继续往下执行,否则将不符合规则的关键词进行修正后往下执行,从而确保可以正常完成转化,保证标注编译的顺利进行。其中,语法和词法检查与源代码具体采用的语言相关,不同的语言的语法和词法检查规则不同,而且语法和词法检查也是编译器的常规操作,本实施例仅仅涉及对现有语法和词法检查的应用,以及对不符合规则的关键词进行修正的简单处理,其详细实现细节在此不再赘述。
本实施例中,步骤1)中通过预设的编译选项编译为对应的性能测试专用目标代码时,还包括在编译器的后端,为全部或者指定的部分汇编指令添加标记,并为性能测试专用目标代码添加标记垃圾回收功能模块,所述标记垃圾回收功能模块用于分别对各个变量、函数、函数入口、函数结尾以及汇编指令的标记进行统计,以统计出变量的内存使用大小、变量的使用次数、函数的开始与结束运行时间以及汇编指令使用次数,并在完成统计后将标记视为垃圾进行回收以减少对内存的使用。标记垃圾回收功能模块在性能测试专用目标代码中以独立的线程运行,分别对各个变量、函数、函数入口、函数结尾以及汇编指令的标记进行统计,以统计出变量的内存使用大小、变量的使用次数、函数的开始与结束运行时间以及汇编指令使用次数,并统计信息输出到指定的输出文件,并在完成统计后将标记视为垃圾进行回收以减少对内存的使用。由于标记对于应用程序本身在编译时增加的部分内容,执行时会消耗一部分内存使用,因此本实施例采用了标记垃圾回收功能模块嵌入应用程序(性能测试专用目标代码)中的方式,从而能够更精确的获取内存使用情况,并且能够通过在完成统计后将标记视为垃圾进行回收以减少对内存的使用,从而使得统计更精确,尤其适用于大型应用程序的性能测试。如图2所示,在编译器的后端,针对汇编指令添加的标记为汇编指令标记,还包括添加的标记垃圾回收功能模块。
需要说明的是,本实施例方法不依赖于具体的应用程序的源代码编程语言以及所使用的编译器类型。而作为一种具体的实施方式,本实施例中应用程序的源代码的编程语言为C/C++,编译器为基于开源的GCC/LLVM进行改进实现了相关标记的功能和标记垃圾回收功能模块。
本实施例中,步骤2)中运行性能测试专用目标代码得到的输出文件中记录有各个变量的内存使用大小、变量的使用次数、函数的开始与结束运行时间以及汇编指令使用次数。作为一种可选的实施方式,本实施例步骤2)中统计输出文件中的执行过程信息时,还包括分别计算各个函数的运行所用时间,以及运行所用时间占用性能测试专用目标代码的总运行时间的比例,将所有的函数、函数入口、函数结尾生成函数索引文件,并根据函数索引文件生成不同函数之间的函数调用关系,以添加到目标应用程序的性能分析结果,所述函数的运行所用时间为函数的开始与结束运行时间之差。将所有的函数、函数入口、函数结尾生成函数索引文件后,函数索引文件包含了函数的调用关系,例如函数本身必然是和函数入口相邻,而函数结尾以外的其余位置则为对函数的外部调用,函数入口、函数结尾之间的位置则为对函数本身的递归调用。因此,根据函数索引文件生成不同函数之间的函数调用关系时,可根据函数的名称结合上述位置关系进行查找确定,查找时可采用关键词匹配或者正则表达式匹配的方式,从而可确定任意函数被调用的情况。
此外,本实施例还提供一种面向代码的应用程序性能分析系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述面向代码的应用程序性能分析方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行前述面向代码的应用程序性能分析方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种面向代码的应用程序性能分析方法,其特征在于,包括:
1)针对被测试的目标应用程序,通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码,所述性能测试专用目标代码具有将执行过程信息输出到指定的输出文件的功能;
2)运行性能测试专用目标代码,并针对运行性能测试专用目标代码得到的指定的输出文件,统计输出文件中的执行过程信息,从而得到目标应用程序的性能分析结果。
2.根据权利要求1所述面向代码的应用程序性能分析方法,其特征在于,所述将执行过程信息输出到指定的输出文件具体是指将将执行过程中所执行的变量、函数以及汇编指令的信息输出到指定的输出文件,且变量的信息包括全局变量和局部变量的名称,函数的信息包括函数的名称、函数入口以及函数结尾的位置。
3.根据权利要求2所述面向代码的应用程序性能分析方法,其特征在于,步骤1)中通过预设的编译选项将目标应用程序的源代码编译为对应的性能测试专用目标代码时,包括在编译器的前端,识别出源代码中的变量和函数,确定变量的类型为全局变量或局部变量,并确定函数的函数入口和函数结尾的位置,并根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记,所述标记用于在性能测试专用目标代码执行时将对应的变量、函数、函数入口或函数结尾的信息作为执行过程信息输出到指定的输出文件。
4.根据权利要求3所述面向代码的应用程序性能分析方法,其特征在于,所述根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记时,包括为局部变量采用局部变量标记(lx)标注,为全局变量采用全局变量标记(gx)标注,为函数采用函数标记(fx)标注,为函数的函数入口采用函数入口标记(sx)标注,为函数的函数结尾采用函数结尾标记(tx)标注。
5.根据权利要求3所述面向代码的应用程序性能分析方法,其特征在于,所述根据设定的规则分别为各个变量、函数及其函数入口和函数结尾添加标记后,还包括针对添加的标记进行语法和词法检查的步骤,若添加的标记符合语法规则,则继续往下执行,否则将不符合规则的关键词进行修正后往下执行。
6.根据权利要求3所述面向代码的应用程序性能分析方法,其特征在于,步骤1)中通过预设的编译选项编译为对应的性能测试专用目标代码时,还包括在编译器的后端,为全部或者指定的部分汇编指令添加标记,并为性能测试专用目标代码添加标记垃圾回收功能模块,所述标记垃圾回收功能模块用于分别对各个变量、函数、函数入口、函数结尾以及汇编指令的标记进行统计,以统计出变量的内存使用大小、变量的使用次数、函数的开始与结束运行时间以及汇编指令使用次数,并在完成统计后将标记视为垃圾进行回收以减少对内存的使用。
7.根据权利要求6所述面向代码的应用程序性能分析方法,其特征在于,步骤2)中运行性能测试专用目标代码得到的输出文件中记录有各个变量的内存使用大小、变量的使用次数、函数的开始与结束运行时间以及汇编指令使用次数。
8.根据权利要求1所述面向代码的应用程序性能分析方法,其特征在于,步骤2)中统计输出文件中的执行过程信息时,还包括分别计算各个函数的运行所用时间,以及运行所用时间占用性能测试专用目标代码的总运行时间的比例,将所有的函数、函数入口、函数结尾生成函数索引文件,并根据函数索引文件生成不同函数之间的函数调用关系,以添加到目标应用程序的性能分析结果,所述函数的运行所用时间为函数的开始与结束运行时间之差。
9.一种面向代码的应用程序性能分析系统,包括相互连接的微处理器和存储器,其特征在于,所述微处理器被编程或配置以执行权利要求1~8中任意一项所述面向代码的应用程序性能分析方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序用于被微处理器编程或配置以执行权利要求1~8中任意一项所述面向代码的应用程序性能分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210569917.8A CN114968779A (zh) | 2022-05-24 | 2022-05-24 | 一种面向代码的应用程序性能分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210569917.8A CN114968779A (zh) | 2022-05-24 | 2022-05-24 | 一种面向代码的应用程序性能分析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968779A true CN114968779A (zh) | 2022-08-30 |
Family
ID=82955731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210569917.8A Pending CN114968779A (zh) | 2022-05-24 | 2022-05-24 | 一种面向代码的应用程序性能分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968779A (zh) |
-
2022
- 2022-05-24 CN CN202210569917.8A patent/CN114968779A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101739339B (zh) | 一种基于程序动态依赖关系的软件故障定位方法 | |
US9274923B2 (en) | System and method for stack crawl testing and caching | |
EP3465428B1 (en) | Sample driven profile guided optimization with precise correlation | |
US5987250A (en) | Transparent instrumentation for computer program behavior analysis | |
Chen et al. | Coverage prediction for accelerating compiler testing | |
EP1918812A1 (en) | A software development system | |
Marr et al. | Tracing vs. partial evaluation: Comparing meta-compilation approaches for self-optimizing interpreters | |
CN102243609A (zh) | 一种基于嵌入式软件的测试分析方法及系统 | |
Bebenita et al. | Trace-based compilation in execution environments without interpreters | |
Ismail et al. | Quantitative overhead analysis for python | |
CN104750563B (zh) | 一种基于控制流图的内存泄漏自动修复方法 | |
CN102063328A (zh) | 一种用于检测中断驱动型程序数据竞争的系统 | |
KR101979329B1 (ko) | 바이너리의 취약점을 유발하는 입력데이터 위치 추적 방법 및 그 장치 | |
CN111813672B (zh) | 一种针对多种处理器架构的非侵入式覆盖率统计方法 | |
CN104156311A (zh) | 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法 | |
Zheng et al. | Accurate profiling in the presence of dynamic compilation | |
Ramanathan et al. | Sieve: A tool for automatically detecting variations across program versions | |
CN102298552A (zh) | 基于代码查询进行源代码插桩的方法 | |
CN101493767A (zh) | 一种即时编译器辅助的垃圾收集中显式释放对象的插桩方法 | |
Liu et al. | Exploring missed optimizations in webassembly optimizers | |
CN102087629A (zh) | 一种基于Agent嵌入式软件的不变量测试方法与工具 | |
CN102662829B (zh) | 一种复杂数据结构在代码静态测试中的处理方法和装置 | |
CN111966578A (zh) | 一种安卓兼容性缺陷修复效果的自动化评估方法 | |
CN114968779A (zh) | 一种面向代码的应用程序性能分析方法及系统 | |
CN111813677B (zh) | 一种嵌入式设备上的性能调试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |