Symbolization method and device for continuous performance analysis data, equipment and storage medium

By obtaining virtual memory address and identification information in continuous performance analysis data, and using this information to obtain debug package information from debug information database or software source for symbolic conversion, the problem that virtual memory addresses cannot be symbolic converted in compiled languages ​​is solved, and performance analysis support for compiled languages ​​is achieved.

CN120029934APending Publication Date: 2025-05-23BEIJING YOUTEJIE INFORMATION TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510122384.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-26
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The inability to symbolize virtual memory addresses in continuous performance analysis data hinders further performance analysis, especially in compiled languages ​​such as C or C++.

Method used

By obtaining the virtual memory address and corresponding identification information in the continuous performance analysis data, if the data does not contain debug package information, the matching debug package information is obtained from the debug information database or software source and symbolically transformed.

Benefits of technology

Even without debugging package information, debugging package information can be determined through identification information, thereby achieving efficient and accurate symbolic conversion of virtual memory addresses, and supporting performance analysis of compiled languages.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120029934A_ABST
    Figure CN120029934A_ABST
Patent Text Reader

Abstract

The invention discloses a symbolization method, device and equipment for continuous performance analysis data and a storage medium, and the method comprises the steps: obtaining the continuous performance analysis data which comprises a virtual memory address and identification information of a specified file corresponding to the virtual memory address; when it is determined that the continuous performance analysis data does not contain the debugging package information, obtaining the debugging package information matched with the virtual memory address according to the identification information; and converting the virtual memory address according to the debugging package information to obtain a symbolic conversion result. The debugging package information matched with the virtual memory address is obtained through the identification information extracted from the continuous performance analysis data, so that even if no debugging package information exists in the continuous performance analysis data, the debugging package information can be determined according to other information in the continuous performance analysis data; therefore, efficient and accurate symbolization conversion can be performed on the virtual memory address based on the obtained debugging package information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing technology, and in particular to a method, device, equipment and storage medium for symbolizing continuous performance analysis data. Background Art

[0002] In the process of software development, performance optimization is a key link. Traditional performance analysis methods are usually performed on demand, that is, analysis is performed only after performance problems are discovered. This method often fails to capture occasional problems during software operation in a timely manner, resulting in some difficult-to-reproduce performance bottlenecks that cannot be effectively resolved. Continuous profiling, as an emerging technology, can run through the entire life cycle of the software, collect and analyze performance data in real time, and provide more comprehensive and accurate information for software optimization, but continuous performance collection will generate a large amount of profiling data.

[0003] However, the profiling data obtained includes stack information from application code, runtime environment code, system libraries, and the kernel stack. For interpreted languages ​​​​such as Python or JIT languages ​​​​such as Java, debugging package information is generally included. But for compiled languages ​​​​such as C or C++, mainstream compilers do not include debugging package information by default during compilation. This makes it impossible to perform symbol conversion on the virtual memory addresses in the profiling data, hindering further performance analysis. Summary of the invention

[0004] The present invention provides a method for symbolizing continuous performance analysis data, so as to achieve accurate and efficient symbol conversion of the continuous performance analysis data.

[0005] According to a first aspect of the present invention, there is provided a method for symbolizing continuous performance analysis data, comprising: obtaining continuous performance analysis data, wherein the continuous performance analysis data includes a virtual memory address and identification information of a designated file corresponding to the virtual memory address;

[0006] When it is determined that the continuous performance analysis data does not include debugging package information, acquiring debugging package information matching the virtual memory address according to the identification information;

[0007] The virtual memory address is converted according to the debugging package information to obtain a symbolic conversion result.

[0008] According to another aspect of the present invention, there is provided a device for symbolizing continuous performance analysis data, comprising:

[0009] A continuous performance analysis data acquisition module, used to acquire continuous performance analysis data, wherein the continuous performance analysis data includes a virtual memory address and identification information of a designated file corresponding to the virtual memory address;

[0010] A debugging package information acquisition module, configured to acquire debugging package information matching the virtual memory address according to the identification information when it is determined that the continuous performance analysis data does not contain debugging package information;

[0011] The symbol conversion module is used to convert the virtual memory address according to the debugging package information to obtain a symbolic conversion result.

[0012] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0013] at least one processor; and

[0014] a memory communicatively connected to the at least one processor; wherein,

[0015] The memory stores a computer program that can be executed by the at least one processor. The computer program is executed by the at least one processor so that the at least one processor can perform the method described in any embodiment of the present invention.

[0016] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method described in any embodiment of the present invention when executed.

[0017] The technical solution of the embodiment of the present invention obtains debugging package information matching the virtual memory address through identification information extracted from continuous performance analysis data. Therefore, even when there is no debugging package information in the continuous performance analysis data, the debugging package information can be determined according to other information in the continuous performance analysis data, so that the virtual memory address can be efficiently and accurately symbolized based on the obtained debugging package information.

[0018] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0020] Figure 1 is a flow chart of a method for symbolizing continuous performance analysis data provided according to Embodiment 1 of the present invention;

[0021] Figure 2 is a flow chart of a method for symbolizing continuous performance analysis data provided according to Embodiment 2 of the present invention;

[0022] Figure 3 is a schematic diagram of the structure of a device for symbolizing continuous performance analysis data provided by Embodiment 3 of the present invention;

[0023] Figure 4 It is a schematic diagram of the structure of an electronic device provided by Embodiment 4 of the present invention. DETAILED DESCRIPTION

[0024] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0026] Embodiment 1

[0027] Figure 1A flowchart of a method for symbolizing continuous performance analysis data is provided for the first embodiment of the present invention. This embodiment is applicable to the case of symbolizing continuous performance analysis data. The method can be executed by a symbolizing device for continuous performance analysis data, which can be implemented in the form of hardware and / or software. Figure 1 As shown, the method includes:

[0028] Step S101, obtaining continuous performance analysis data.

[0029] Optionally, the designated file includes an executable file or a linkable file; the identification information includes a file identifier and an edit link identifier.

[0030] Specifically, in this embodiment, continuous performance analysis data will be collected in real time during the entire life cycle of the software operation, and the specific amount of continuous performance analysis data collected per unit time is not limited in this embodiment. Among them, each continuous performance analysis data includes a virtual memory address in the framework, and the identification information of the executable file or linkable file corresponding to the virtual memory address. The identification information here specifically refers to the file identifier fileid and the edit link identifier buildid, that is, the format of each continuous performance analysis data can be "fileid:buildid:virtual memory address". Of course, this embodiment is only an example, and does not limit the specific format of the continuous performance analysis data.

[0031] The file identifier fileid is a unique identifier of an executable file or a linkable file, and the file identifier fileid can be obtained by extracting the first 200 bytes and the last 200 bytes of the file, and then performing MD5 calculation on the extracted 400 bytes. In addition, the edit link identifier buildid is generated at the beginning of file editing. This implementation does not limit the acquisition method and specific content of the file identifier fileid and the edit link identifier buildid. As long as they can play the role of identifying executable files or linkable files, they are all within the protection scope of this application.

[0032] It should be noted that, in this embodiment, after obtaining the continuous performance analysis data obtained by the acquisition component, the continuous performance analysis data will be saved in the local storage component, and in order to preserve the availability of the storage space this time, the data saved in the storage component will be moved according to the specified cycle. For example, since the timeliness and frequency of use of the data saved after one month are significantly reduced, the data can be moved by hardware every one month. Of course, this embodiment is only an example and does not limit the frequency of data movement in the storage component. Users can configure it according to the capacity of the storage unit and the data usage.

[0033] It is worth mentioning that in the present embodiment, when the continuous performance analysis data is symbolically converted, the virtual memory addresses contained in the continuous performance analysis data are specifically converted. Since the virtual memory addresses contained in the continuous performance analysis data are in machine language, users cannot effectively recognize them, so they need to be converted into a symbolic form that users can recognize. The present embodiment does not limit the specific content of the converted symbolic form.

[0034] Step S102: when it is determined that the continuous performance analysis data does not include debugging package information, the debugging package information matching the virtual memory address is acquired according to the identification information.

[0035] Optionally, debugging package information matching the virtual memory address is obtained based on the identification information, including: querying from the debugging information database based on the edit link identifier to determine whether the debugging package information corresponding to the edit link identifier is found; if so, reading the debugging package information from the debugging information database; otherwise, crawling from the software source based on the file identifier to obtain the debugging package information.

[0036] Optionally, after reading the debugging package information from the debugging information library, the method further includes: extracting specified parameters in the debugging package information; and saving the specified parameters, identification information of the specified file, and the virtual memory address in the storage component according to a specified format.

[0037] Specifically, the continuous performance analysis data also includes stack information from the application code, runtime environment code, system library and kernel stack. For interpreted languages ​​​​such as Python or JIT languages ​​​​such as Java, debug package information is generally included, but for compiled languages ​​​​such as C or C++, mainstream compilers do not include debug package information by default during compilation. Therefore, after obtaining the continuous performance analysis data, the continuous performance analysis data will be tested to determine whether it contains debug package information. If it is contained, it can be directly extracted. The present application mainly focuses on the specific processing method when the continuous performance analysis data does not contain debug package information, which makes it impossible to perform symbolic conversion of virtual memory addresses. Among them, when it is determined that the debugging package information cannot be obtained in the continuous performance analysis data, the symbolization component will first be used to query the debugging information database according to the editing link identifier buildid. Since the correspondence between the editing link identifier and the debugging package information is saved in the debugging information database, when it is determined that the debugging package information corresponding to the editing link identifier buildid is queried in the debugging information data, the symbolization component will read the queried debugging package information and perform symbolic conversion of the virtual memory address according to the queried debugging package information.

[0038] It should be noted that, in this embodiment, after the debugging package information is read from the debugging information library, in order to facilitate the next time the same framework can be directly symbolized, the specified parameters useful for symbolic conversion in the debugging package information are extracted, such as the file name, function name, line number and column number, and the extracted specified parameters are stored in the local storage component in accordance with the specified format together with the virtual memory address of the executable file or linkable file, the file identifier fileid and the edit link identifier buildid, for example, according to the " <fileid> : <buildid>:<virtual memory address>:<file name>:<function name>:<line number>:<column number>". Of course, this implementation is only an example and does not limit the specific form of the saved format. As long as it is convenient for direct use of the same framework symbolization next time, it is within the protection scope of this application.

[0039] Optionally, crawling and obtaining debugging package information from a software source according to a file identifier includes: obtaining a software package identifier corresponding to each software package in the software source; obtaining a target software package identifier that is the same as the file identifier, and obtaining a target software package corresponding to the target software identifier; and extracting debugging package information associated with the target software package.

[0040] Optionally, after crawling and obtaining the debugging package information from the software source according to the file identifier, it also includes: obtaining the software package path corresponding to the target software package and the debugging package path corresponding to the debugging package information; downloading the debugging package information to the debugging package directory to trigger the debugging information library to establish an index for the debugging package information based on the edit link identifier, the software package path and the debugging package path.

[0041] Specifically, when the corresponding debugging package information cannot be queried from the debugging information database according to the edit link identifier buildid, the symbolization component will determine the continuous performance analysis data where the edit link identifier buildid that cannot obtain the debugging package information is located, and extract the file identifier fileid from the continuous performance analysis data, and send the extracted file identifier fileid to the crawling component, that is, to inform the crawling component which specific file cannot obtain the debugging package information, for example, the file identifier fileid is 2340. After obtaining the file identifier, the crawling component will crawl in the configured software source. Since the software source includes various software packages, the file identifier can be compared with the software package identifier of each software package, and the target software package identifier that is the same as the file identifier can be obtained by comparing the identifiers. Among them, when the target software package is obtained by comparing the identification, when it is determined that the software package is marked with the software package identification, direct comparison can be performed, but when it is determined that the software package is not marked with the software package identification, it can be obtained by calculation according to the name of the software package, and the calculation method of the software package identification is roughly the same as the calculation method of the file identification, for example, the first 200 bytes and the last 200 bytes of the software package are extracted, and then the extracted 400 bytes are obtained by MD5 calculation. Among them, when it is determined that the software package with the software package identification of 2340 is crawled, the software package is used as the target software package. Since the software packages are associated with corresponding debugging package information in the software source, the debugging package information associated with the target software package can be extracted, so as to perform symbolic conversion of the virtual memory address based on the crawled debugging package information.

[0042] It is worth mentioning that in this embodiment, after the debugging package information is obtained by crawling, the software package path corresponding to the target software package and the debugging package path corresponding to the debugging package information are also obtained, that is, it is determined from which path the software package and the debugging package information can be obtained, and after the debugging package information is crawled, the crawled debugging package information will be downloaded to the debugging package directory, and the debugging package directory may include debugging package information downloaded from a variety of different sources. In this embodiment, the number and type of debugging package information contained in the debugging package directory are not limited. Among them, any change in the purpose of the debugging package will be notified to the debugging information library through a mechanism similar to inotify, so the debugging information library will establish an index for the debugging package information based on the edit link identifier, the software package path and the debugging package path. For example, the format of the index can be " <buildid>:<software package path>:<debugging package path>”, the subsequent debugging information library can obtain the debugging package information according to the indicated path according to the index, thereby avoiding the time and resource occupation caused by subsequent repeated crawler operations, so as to improve the efficiency and accuracy of symbolization. Of course, this implementation is only an example, and the specific format of the index is not limited. As long as it is convenient to obtain the crawled debugging package information, it is within the protection scope of this application.

[0043] Step S103: convert the virtual memory address according to the debugging package information to obtain a symbolic conversion result.

[0044] Optionally, the virtual memory address is converted according to the debugging package information to obtain a symbolic conversion result, including: extracting specified parameters from the debugging package information, wherein the specified parameters include the file name, function name, line number and column number; combining the file name, function name, line number and column number in a specified order to obtain a combined symbol; and using the combined symbol as the symbolic conversion result of the virtual memory address.

[0045] Specifically, in this embodiment, after obtaining the debugging package information, it is necessary to extract the specified parameters related to the conformation in the debugging package information, such as the file name, function name, line number and column number, and convert the virtual memory address into a symbol that is easy for the user to identify according to the extracted specified parameters. For example, the specified parameters are combined in the order of "file name + function name + line number + column number" to obtain a combined symbol, and the virtual memory address is converted into the form of a combined symbol. Of course, this embodiment is only an example for illustration, and does not limit the specific conversion method of the virtual memory address. As long as the conversion result is easy for the user to identify, it is within the scope of this application.

[0046] In an implementation manner of the present application, debug package information matching the virtual memory address is obtained by using identification information extracted from the continuous performance analysis data. Thus, even when there is no debug package information in the continuous performance analysis data, the debug package information can be determined based on other information in the continuous performance analysis data. Thus, the virtual memory address can be efficiently and accurately symbolized based on the obtained debug package information.

[0047] Embodiment 2

[0048] Figure 2 A flowchart of a method for symbolizing continuous performance analysis data is provided in a second embodiment of the present invention. This embodiment is based on the above embodiment and, after converting the virtual memory address according to the debugging package information to obtain the symbolic conversion result, further includes: detecting the symbolic conversion result.

[0049] Step S201, obtaining continuous performance analysis data.

[0050] Optionally, the designated file includes an executable file or a linkable file; the identification information includes a file identifier and an edit link identifier.

[0051] Step S202: when it is determined that the continuous performance analysis data does not include debugging package information, the debugging package information matching the virtual memory address is acquired according to the identification information.

[0052] Optionally, debugging package information matching the virtual memory address is obtained based on the identification information, including: querying from the debugging information database based on the edit link identifier to determine whether the debugging package information corresponding to the edit link identifier is found; if so, reading the debugging package information from the debugging information database; otherwise, crawling from the software source based on the file identifier to obtain the debugging package information.

[0053] Optionally, after reading the debugging package information from the debugging information library, the method further includes: extracting specified parameters in the debugging package information; and saving the specified parameters, identification information of the specified file, and the virtual memory address in the storage component according to a specified format.

[0054] Optionally, crawling and obtaining debugging package information from a software source according to a file identifier includes: obtaining a software package identifier corresponding to each software package in the software source; obtaining a target software package identifier that is the same as the file identifier, and obtaining a target software package corresponding to the target software identifier; and extracting debugging package information associated with the target software package.

[0055] Optionally, after crawling and obtaining the debugging package information from the software source according to the file identifier, it also includes: obtaining the software package path corresponding to the target software package and the debugging package path corresponding to the debugging package information; downloading the debugging package information to the debugging package directory to trigger the debugging information library to establish an index for the debugging package information based on the edit link identifier, the software package path and the debugging package path.

[0056] Step S203: convert the virtual memory address according to the debugging package information to obtain a symbolic conversion result.

[0057] Optionally, the virtual memory address is converted according to the debugging package information to obtain a symbolic conversion result, including: extracting specified parameters from the debugging package information, wherein the specified parameters include the file name, function name, line number and column number; combining the file name, function name, line number and column number in a specified order to obtain a combined symbol; and using the combined symbol as the symbolic conversion result of the virtual memory address.

[0058] Step S204, detecting the symbolic conversion result.

[0059] Specifically, in this embodiment, after converting the virtual memory address to obtain the symbolic conversion result, the symbolic conversion result obtained will also be detected, wherein the detection is specifically to determine whether the symbolic conversion result is abnormal, and the abnormality refers to the situation where an obvious error occurs or does not meet the format requirements. For example, when it is determined through detection that garbled characters appear in the symbolic conversion result obtained, it can be directly determined that the symbolic conversion result obtained is wrong; or, when it is determined through detection that there is information missing in the symbolic conversion result obtained, for example, the line number is missing in the conforming conversion result; or, when it is determined through detection that the format of the symbolic conversion result obtained does not meet the symbolic requirements, for example, the file name, function name, line number and column number in the conforming conversion result are not combined in the specified order, etc. Of course, this embodiment is only an example, and does not limit the specific type of abnormality.

[0060] It should be noted that in this embodiment, after the symbolic conversion results of each continuous performance analysis data are detected, a test report will be generated, and the test report specifically includes the test results, success rate and test summary of each symbolic conversion result. Of course, this embodiment is only an example, and the specific content included in the test report is not limited. Among them, when the success rate is less than the specified value, it means that the current software or hardware has a fault. At this time, an alarm prompt message will be generated to prompt the user to maintain the software or hardware, and the test summary of the test report includes maintenance suggestions. Therefore, when performing maintenance, the software or hardware can be maintained with reference to the maintenance suggestions. Of course, this embodiment is only an example, and the specific method of maintenance is not limited.

[0061] It is worth mentioning that the alarm prompt generated in this embodiment can be in the form of voice, light or image. The specific content of the alarm prompt is not limited in this embodiment. As long as it can serve as a prompt to the user, it is within the protection scope of this application. In order to ensure that the supervisor can obtain the alarm prompt in time, the alarm prompt can also be sent to the supervisor's mobile terminal, so that the supervisor can obtain the alarm prompt information even if he is not on site, thereby further improving the efficiency of maintenance.

[0062] In an implementation manner of the present application, debug package information matching the virtual memory address is obtained by using identification information extracted from the continuous performance analysis data. Thus, even when there is no debug package information in the continuous performance analysis data, the debug package information can be determined based on other information in the continuous performance analysis data. Thus, the virtual memory address can be efficiently and accurately symbolized based on the obtained debug package information.

[0063] Embodiment 3

[0064] Figure 3 A schematic diagram of the structure of a device for symbolizing continuous performance analysis data provided by Embodiment 3 of the present invention. Figure 3 As shown, the device includes: a continuous performance analysis data acquisition module 310, a debugging package information acquisition module 320 and a symbol conversion module 330.

[0065] The continuous performance analysis data acquisition module 310 is used to acquire continuous performance analysis data, wherein the continuous performance analysis data includes a virtual memory address and identification information of a specified file corresponding to the virtual memory address;

[0066] The debugging package information acquisition module 320 is used to acquire the debugging package information matching the virtual memory address according to the identification information when it is determined that the continuous performance analysis data does not contain the debugging package information;

[0067] The symbol conversion module 330 is used to convert the virtual memory address according to the debugging package information to obtain a symbolic conversion result.

[0068] Optionally, specify that the file includes an executable file or a linkable file;

[0069] The identification information includes a file identification and an edit link identification.

[0070] Optionally, a debugging package information acquisition module is used to query the debugging information database according to the edit link identifier to determine whether the debugging package information corresponding to the edit link identifier is found, and if so, read the debugging package information from the debugging information database.

[0071] Otherwise, crawl the software source according to the file identifier to obtain the debugging package information.

[0072] Optionally, the debugging package information acquisition module is further used to obtain the software package identifier corresponding to each software package in the software source;

[0073] Obtaining a target software package identifier that is identical to the file identifier, and obtaining a target software package corresponding to the target software identifier;

[0074] Extracts the debug package information associated with the target software package.

[0075] Optionally, a symbol conversion module is used to extract specified parameters from the debugging package information, wherein the specified parameters include a file name, a function name, a line number, and a column number;

[0076] Combine the file name, function name, line number and column number in the specified order to obtain a combined symbol;

[0077] The combination is regarded as the result of symbolic conversion of the virtual memory address.

[0078] Optionally, the device further includes an information storage module, which is used to extract specified parameters in the debugging package information;

[0079] The specified parameters, identification information of the specified file and the virtual memory address are saved in the storage component according to the specified format.

[0080] Optionally, the device further includes an index building module, which is used to obtain a software package path corresponding to the target software package and a debugging package path corresponding to the debugging package information;

[0081] The debugging package information is downloaded to the debugging package directory to trigger the debugging information repository to create an index for the debugging package information based on the edit link identifier, the software package path, and the debugging package path.

[0082] The continuous performance analysis data symbolization device provided in the embodiment of the present invention can execute the continuous performance analysis data symbolization method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0083] Embodiment 4

[0084] Figure 4 The present invention is a block diagram of an electronic device 10 that can be used to implement an embodiment of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0085] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0086] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0087] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a symbolization method for continuous performance analysis data.

[0088] In some embodiments, the method for symbolizing continuous performance analysis data may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the method for symbolizing continuous performance analysis data described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the method for symbolizing continuous performance analysis data in any other appropriate manner (e.g., by means of firmware).

[0089] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0090] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0091] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0092] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0093] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0094] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0095] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0096] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.< / buildid> < / buildid> < / fileid>

Claims

1. A method for symbolizing continuous performance analysis data, characterized in that: include: Acquire continuous performance analysis data, wherein the continuous performance analysis data includes a virtual memory address and identification information of a designated file corresponding to the virtual memory address; When it is determined that the continuous performance analysis data does not include debugging package information, acquiring debugging package information matching the virtual memory address according to the identification information; The virtual memory address is converted according to the debugging package information to obtain a symbolic conversion result.

2. The method according to claim 1, characterized in that The specified file includes an executable file or a linkable file; The identification information includes a file identification and an edit link identification.

3. The method according to claim 2, characterized in that The acquiring the debugging package information matching the virtual memory address according to the identification information includes: According to the edit link identifier, query the debug information database to determine whether the debug package information corresponding to the edit link identifier is found, and if so, read the debug package information from the debug information database. Otherwise, crawl the software source according to the file identifier to obtain the debugging package information.

4. The method according to claim 3, characterized in that The step of crawling and acquiring the debugging package information from a software source according to the file identifier includes: Obtaining a software package identifier corresponding to each software package in the software source; Acquire a target software package identifier that is identical to the file identifier, and acquire a target software package corresponding to the target software identifier; Extract debugging package information associated with the target software package.

5. The method according to claim 1, characterized in that The converting the virtual memory address according to the debugging package information to obtain a symbolic conversion result includes: Extracting specified parameters from the debugging package information, wherein the specified parameters include a file name, a function name, a line number, and a column number; Combine the file name, the function name, the row number and the column number in a specified order to obtain a combined symbol; The combination is used as the symbolic conversion result of the virtual memory address.

6. The method according to claim 3, characterized in that After reading the debugging package information from the debugging information library, the method further includes: Extracting specified parameters from the debugging package information; The specified parameters, the identification information of the specified file and the virtual memory address are saved in a storage component according to a specified format.

7. The method according to claim 4, characterized in that After crawling and acquiring the debugging package information from the software source according to the file identifier, the method further includes: Obtaining a software package path corresponding to the target software package and a debugging package path corresponding to the debugging package information; The debugging package information is downloaded to a debugging package directory to trigger the debugging information library to create an index for the debugging package information based on the edit link identifier, the software package path, and the debugging package path.

8. A device for symbolizing continuous performance analysis data, characterized in that: include: A continuous performance analysis data acquisition module, used to acquire continuous performance analysis data, wherein the continuous performance analysis data includes a virtual memory address and identification information of a designated file corresponding to the virtual memory address; A debugging package information acquisition module, configured to acquire debugging package information matching the virtual memory address according to the identification information when it is determined that the continuous performance analysis data does not contain debugging package information; The symbol conversion module is used to convert the virtual memory address according to the debugging package information to obtain a symbolic conversion result.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method according to any one of claims 1 to 7 when executed.