CN113157731A - Symbol analysis method, device, equipment and storage medium - Google Patents

Symbol analysis method, device, equipment and storage medium Download PDF

Info

Publication number
CN113157731A
CN113157731A CN202110564299.3A CN202110564299A CN113157731A CN 113157731 A CN113157731 A CN 113157731A CN 202110564299 A CN202110564299 A CN 202110564299A CN 113157731 A CN113157731 A CN 113157731A
Authority
CN
China
Prior art keywords
address
symbol
addresses
mapping relation
mapping
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
Application number
CN202110564299.3A
Other languages
Chinese (zh)
Inventor
丰亚东
姜磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110564299.3A priority Critical patent/CN113157731A/en
Publication of CN113157731A publication Critical patent/CN113157731A/en
Priority to PCT/CN2022/083583 priority patent/WO2022247442A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the disclosure relates to a symbol analysis method, a device, equipment and a storage medium, wherein the method comprises the following steps: analyzing from the symbol table to obtain the mapping relation between the address and the symbol of the source file; if the symbols corresponding to the continuous addresses are the same, merging the mapping relations between the continuous addresses and the symbols; in response to the fact that the symbol corresponding to the first address in the symbol table obtained through analysis is matched with the preset error symbol, the symbol corresponding to the first address is corrected to be a symbol corresponding to the second address in the symbol table, and the first address refers to an address corresponding to a non-breakpoint position in the symbol table; and storing the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the corresponding symbol, and the mapping relation between other addresses and symbols in the symbol table in a preset database. In the embodiment of the present disclosure, the mapping relationship between the address and the symbol is pre-solved from the symbol table, and the pre-solved mapping relationship can be optimized.

Description

Symbol analysis method, device, equipment and storage medium
Technical Field
The embodiment of the disclosure relates to the technical field of computers, and in particular, to a symbol parsing method, a symbol parsing device, a symbol parsing apparatus and a storage medium.
Background
In an apple mobile device Operating System (iOS), problems of card pause, card death, and the like of an Application (APP) can be reported to a corresponding monitoring platform through a log, so that the monitoring platform analyzes and processes the problems of the Application after mapping an address in the log into a corresponding symbol. How to improve the efficiency and accuracy of symbol analysis is a long-standing problem in the process of symbol analysis.
Disclosure of Invention
In order to solve the technical problem or at least partially solve the technical problem, embodiments of the present disclosure provide a symbol parsing method, apparatus, device and storage medium.
In a first aspect, the present disclosure provides a symbol parsing method, including:
analyzing a symbol table obtained in advance to obtain a mapping relation between an address of a source file in an iOS (operating System) of the apple mobile equipment and a symbol which can be identified by a target system;
in response to that the analyzed symbols corresponding to the multiple continuous addresses are the same, combining the mapping relations between the multiple continuous addresses and the symbols into a mapping relation between a target address range and the symbols corresponding to the multiple continuous addresses, wherein the target address range is determined by the multiple continuous addresses;
in response to the fact that the symbol corresponding to the first address in the symbol table is matched with a preset error symbol obtained through analysis, correcting the symbol corresponding to the first address into a symbol corresponding to the second address in the symbol table, wherein the first address is an address corresponding to a non-breakpoint position in the symbol table; the second address is an address which corresponds to a breakpoint position in the symbol table, is closest to the first address in size and has a numerical value smaller than the first address;
storing the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the corresponding symbol, and the mapping relation between other addresses and symbols in the symbol table in a preset database;
and when a log file sent by the iOS client is received, searching a symbol corresponding to an address in the log file from the database.
In a second aspect, the present disclosure provides a symbol parsing apparatus, including:
the analysis module is used for analyzing and obtaining a mapping relation between an address of a source file in an iOS (operating system of the apple mobile equipment) and a symbol which can be identified by a target system from a symbol table obtained in advance;
a merging module, configured to merge mapping relationships between multiple consecutive addresses and symbols into a mapping relationship between a target address range and symbols corresponding to the multiple consecutive addresses when the analyzed symbols corresponding to the multiple consecutive addresses are the same, where the target address range is determined by the multiple consecutive addresses;
the correction module is used for correcting the symbol corresponding to the first address into a symbol corresponding to a second address in the symbol table when the symbol corresponding to the first address in the symbol table obtained through analysis is matched with a preset error symbol, wherein the first address is an address corresponding to a non-breakpoint position in the symbol table; the second address is an address which corresponds to a breakpoint position in the symbol table, is closest to the first address in size and has a numerical value smaller than the first address;
a storage module, configured to store a mapping relationship between the first address and the corrected symbol, a corresponding relationship between the target address range and the symbol, and a mapping relationship between other addresses and symbols in the symbol table in a preset database;
and the searching module is used for searching the symbol corresponding to the address in the log file from the database when the log file sent by the iOS client is received.
In a third aspect, the present disclosure provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the symbol resolution method provided in the first aspect is implemented.
In a fourth aspect, the present disclosure provides a computer-readable storage medium storing a computer program which, when executed by a processor, causes the processor to implement the symbol parsing method provided in the first aspect.
Compared with the prior art, the technical scheme provided by the embodiment of the disclosure has the following advantages:
in the embodiment of the present disclosure, the mapping relationship between the address and the symbol is pre-solved from the symbol table, and the pre-solved mapping relationship can be optimized as follows.
(1) The mapping relations of the continuous addresses corresponding to the same symbol in the mapping relations are integrated into the mapping relation of a target address range address and the corresponding symbol, so that the number of the mapping relations is reduced, and the storage resources required by the storage of the mapping relations can be reduced; due to the fact that the number of the mapping relations is reduced, when the log file is sent by the iOS client side in the follow-up process, the query step can be accelerated, and then the speed and the efficiency of analyzing the symbols in the log file can be improved.
(3) When the symbol table in the mapping relation is determined to be matched with the preset error symbol, the symbol table is corrected to the correct symbol, so that the symbol corresponding to the address in the log file is searched more accurately by using the mapping relation, and the probability of searching errors is reduced.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
In order to more clearly illustrate the embodiments or technical solutions in the prior art of the present disclosure, the drawings used in the description of the embodiments or prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive exercise.
Fig. 1 is a flowchart of a symbol parsing method provided by an embodiment of the present disclosure;
FIG. 2 is a flowchart illustrating a method for searching a log file for a symbol of an address corresponding point in the log file according to an embodiment of the present disclosure;
fig. 3 is a schematic structural diagram of a symbol resolution apparatus according to an embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of a computer device in an embodiment of the present disclosure.
Detailed Description
In order that the above objects, features and advantages of the present disclosure may be more clearly understood, aspects of the present disclosure will be further described below. It should be noted that the embodiments and features of the embodiments of the present disclosure may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure, but the present disclosure may be practiced in other ways than those described herein; it is to be understood that the embodiments disclosed in the specification are only a few embodiments of the present disclosure, and not all embodiments.
Fig. 1 is a flow chart of a symbol parsing method provided by an embodiment of the present disclosure, which may be performed by a computer device; a computer device may be understood as an exemplary computing and processing device, such as a laptop, a desktop, a cloud server, a server cluster, and so on.
As shown in fig. 1, the symbol parsing method provided by the embodiment of the present disclosure includes steps S101 to S105.
S101: and analyzing the mapping relation between the address of the source file in the iOS of the apple mobile device and the symbol which can be identified by the target system from the symbol table obtained in advance.
In the disclosed embodiments: the source file in the iOS can be a file of a certain method or function in the iOS application program code; the target system may be an iOS system or any other system than iOS, such as android and the like.
The symbol referred to in the embodiments of the present disclosure may be a file name and a line number of the source file in the iOS application code, a method name of a method for calling the source file, and the like.
In an implementation manner of the embodiment of the present disclosure, the symbol table may include a mapping relationship between an address of a source file and debugging information of a compiling unit corresponding to the source file, where the debugging information includes a relationship between the source file address and a symbol recognizable by a target system.
In this case, step S101 may be refined into steps S1011 and S1012.
S1011: analyzing the symbol table to obtain debugging information of a compiling unit corresponding to the address in the source file;
s1012: and finding the mapping relation between the source file address and the recognizable symbol in the target system from the debugging information.
Specifically, in an implementation manner of the embodiment of the present disclosure, the symbol table may be specifically a file in a dwarf (distributing with organized Record format) format.
DWARF is a modulated information format that is part of a MH _ DSYM type file that can be applied for source code level debugging. The DWARF may include Information of a compiling unit corresponding to an address of The source file, The Information of The compiling unit including an offset of Debugging Information of The compiling unit in an Entry (The debug Information Entry, for short, DIE) of a source code Information segment, The Debugging Information of The compiling unit including a Debugging Information Entry of a method corresponding to The address of The source file, and a file name and a line number corresponding to The address of The source file.
The following is an example of debug information for a method:
0x0049622c:DW_TAG_subprogram
DW_AT_low_pc(0x000000000030057c)
DW_AT_high_pc(0x0000000000300690)
DW_AT_frame_base(DW_OP_reg29 W29)
DW_AT_object_pointer(0x0049629e)
DW_AT_name("+[SSZipArchive_dateWithMSD
OSFormat:]")
DW_AT_decl_file("/var/folders/03/2g9r4cnj3kqb5605581
m1nf40000gn/T/cocoapods-uclardjg/Pods/SSZipArchive/SSZipArchive/SSZipArchive.m")
DW_AT_decl_line(965)
DW_AT_prototyped(0x01)
DW_AT_type(0x00498104"NSDate*")
DW_AT_APPLE_optimized(0x01)
the meanings of several key attributes in the example of the debugging information of the above method are as follows:
DW _ AT _ low _ pc and DW _ AT _ high _ pc respectively represent the starting/ending computer (pc for short) address of the method function;
DW _ AT _ name describes the name of the method function;
the DW _ AT _ decl _ file describes a declaration file corresponding to the method function;
DW _ AT _ decl _ file describes the position of the declaration information of the method function in the declaration file;
DW _ AT _ type describes the type of method function return value.
The following is an example of information of one kind of compilation unit stored in a symbol table.
DW_AT_produce("Apple LLVM version 10.0.0(clang-
1000.11.45.5)")
DW_AT_language(DW_LANG_ObjC)
DW_AT_name("/var/folders/03/2g9r4cnj3kqb5605581m1nf40000gn/T/cocoapods-uclardjg/Pods/SSZipArchive/SSZipArchive/SSZipArchive.m")
DW_AT_stmt_list(0x001e8f31)
DW_AT_comp_dir("/private/var/folders/03/2g9r4cnj3kqb5605581m1nf40000gn/T/cocoapods-uclardjg/Pods")
DW_AT_APPLE_optimized(0x01)
DW_AT_APPLE_major_runtime_vers(0x02)
DW_AT_low_pc(0x00000000002fc8e8)
DW_AT_high_pc(0x0000000000300828)
The meanings of several key attributes are as follows:
DW _ AT _ language describes the programming language used by the current compilation unit;
the DW _ AT _ stmt _ list describes the offset of the information of the current compiling unit in the source file code information section, namely the debug _ line section;
the DW _ AT _ low _ pc and the DW _ AT _ high _ pc represent addresses of source files corresponding to the compiling unit.
In the embodiment of the present disclosure, information of a corresponding compiling unit may be determined from a debug _ info portion in a DWARF file according to an address of a source file parsed from a symbol table, then, an offset of debugging information of the compiling unit in a source code information segment is determined according to the information of the compiling unit, debugging information of the compiling unit is obtained according to the offset, a method name corresponding to the address of the source file is obtained by searching from a debugging information inlet of a corresponding method according to the debugging information of the compiling unit, and a file name and a line number corresponding to the address of the source file are obtained by searching in the debugging information of the compiling unit.
After querying the mapping relationship between the address of the source file and the recognizable character of the target system in step S101, the embodiment may further include steps S102 to S104.
S102: and in response to that the analyzed symbols corresponding to the multiple continuous addresses are the same, combining the mapping relations between the multiple continuous addresses and the symbols into the mapping relations between the target address range and the symbols corresponding to the multiple continuous addresses.
Optionally, after the corresponding relationship between the address of the source file and the symbol recognizable by the target system is obtained by parsing in the symbol table, the mapping relationship between the address and the symbol obtained by parsing may be sorted according to the size of the address.
Further, the symbol corresponding to each address is judged based on the sorting, and if the analyzed mapping relationship has the same symbol corresponding to a plurality of continuous addresses, the mapping relationships between the plurality of continuous addresses and the symbol are combined to obtain the mapping relationship between the target address range and the symbol, wherein the target address range refers to the address range obtained by combining the plurality of continuous addresses, and the symbol corresponding to the target address range is the symbol corresponding to the plurality of continuous addresses.
It is conceivable that if the mappings between a plurality of consecutive addresses and the same sign are combined into the mapping between the target address range and the sign under the condition that the signs corresponding to the plurality of consecutive addresses are the same, the data amount of the mapping that needs to be stored can be reduced.
S103: and in response to the fact that the symbol corresponding to the first address in the symbol table is matched with a preset error symbol, the symbol corresponding to the first address is corrected into the symbol corresponding to the second address in the symbol table.
In the embodiment of the present disclosure, the first address refers to an address corresponding to a non-breakpoint position in the symbol table; the second address is an address which corresponds to a breakpoint position in the symbol table, is closest to the first address in size, and has a numerical value smaller than that of the first address.
For example, the following table is a mapping relationship table between addresses and symbols. As shown in the table below, where for address 0x0000000000004080, its corresponding row number is row 0; however, the line number of the source file in the source code of the application program cannot be 0 line, which is inconsistent with the actual situation, and therefore, the line number corresponding to 0x0000000000004080 needs to be corrected.
Specifically, the label is _ stmt in the table is used to characterize the line where the break point position of the source code is located, as shown in the above table, address 0x0000000000004070 corresponds to the break point position, and is the address closest to 0x 000000004080 in size among the addresses smaller than 0x0000000000004080, since one break point position can only mark one line, the content corresponding to 0x0000000000004070 and the content corresponding to 0x 000000004080 (corresponding to a non-break point position) in the above table should be located on the same code line in the source code of the application program, so 0x 000000004080 can be corrected to 70.
Figure BDA0003080334730000081
In an application of the embodiment of the present disclosure, step S103 is executed after step S102 is executed, that is, after the mapping relationship between the target address range and the same symbols corresponding to the multiple consecutive addresses is established in step S102, the mapping relationship of the error in the symbol table is corrected.
In other applications of the embodiment of the present disclosure, step S103 may also be performed before step S102, that is, firstly, the mapping relationship between errors in the symbol table is corrected, and then the mapping relationship between the target address range and the same symbol corresponding to a plurality of consecutive addresses is established.
S104: and storing the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the corresponding symbol, and the mapping relation between other addresses and symbols in the symbol table in a preset database.
The embodiment of the present disclosure needs to complete the full-scale parsing of the symbol table, and store the result after the full-scale parsing in a preset database.
Storing the full resolution result in a preset database, wherein the mapping relationship between the residual address and the symbol that do not conform to the judgment and operation steps of steps S102 and S103 needs to be considered and stored in the preset database, in addition to the mapping relationship between the target address range and the corresponding symbol determined in step S102 and the mapping relationship between the first address and the corrected symbol determined in step S103.
In the embodiment of the present disclosure, the preset database may be various possible databases; for example, in one application, it may be a persistent database, that is, a database that can be stored in a hard disk storage manner; in another application of the embodiment of the present application, the preset database may also be a non-persistent database established in the memory.
S105: and when a log file sent by the iOS client is received, searching a symbol corresponding to an address in the log file from the database.
In specific application of the embodiment of the present disclosure, when the iOS client runs a source file (that is, an executable program), due to a bug problem occurring in a programming process of a target system corresponding to an address, the executable program may have abnormal situations such as flash back, deadlocking, and blocking; when the abnormal conditions occur, the iOS client records the source file state with problems, forms a log file and sends the log file to a terminal for processing the log file.
And the client processing the log file or after receiving the log file sent by the client, searching the address in the log file, and determining the corresponding symbol according to the mapping relation stored in the address searching database.
In some specific applications of the embodiment of the present disclosure, the address in the log file includes a stack address stack _ address and a load address load _ address of the source program in the memory stack of the iOS client (that is, a starting address of the source program in the memory stack of the iOS client), and for a file address file _ address that can correspond to the mapping relationship stored in the database, the file address file _ address needs to be changed into the stack address-load _ address according to a formula file _ address.
In some other specific applications of the embodiment of the present disclosure, for security reasons, the iOS client operating system adopts an Address Space Layout Randomization (ASLR), which is a random offset slide when loading the source program into the memory, and in order to obtain the file Address file _ Address, it needs to consider the random offset slide in addition to the aforementioned stack Address stack _ Address and loading Address load _ Address.
By adopting the symbol analysis method provided by the embodiment of the disclosure, after the mapping relationship between the source file address obtained from the symbol table and the recognizable symbol of the target system is obtained, the mapping relationship is not directly stored in the preset database for the subsequent step S105 of analyzing the log file sent by the client; but does the following: (1) integrating the mapping relations of the same symbol corresponding to the continuous addresses in the mapping relations into the mapping relation of a target address range address and the corresponding symbol; (2) and when the symbol table in the mapping relation is determined to be matched with the preset error symbol, correcting the error symbol to a correct symbol.
By adopting the symbol analysis method provided by the embodiment of the disclosure, the following technical effects can be achieved: (1) the mapping relations of the continuous addresses corresponding to the same symbol in the mapping relations are integrated into the mapping relation of a target address range address and the corresponding symbol, so that the number of the mapping relations is reduced, and the storage resources required by the storage of the mapping relations can be reduced; because the number of the mapping relations is reduced, the query step can be accelerated when the step S105 is executed subsequently, and then the speed and the efficiency of analyzing the symbols in the log file can be improved; (2) when the symbol table in the mapping relation is determined to be matched with the preset error symbol, the symbol table is corrected to the correct symbol, so that the symbol corresponding to the address in the log file is searched more accurately by using the mapping relation, and the probability of searching errors is reduced.
As described above, in some applications of the embodiments of the present disclosure, after the mapping relationship between the address and the symbol is obtained, the mapping relationship between the address and the symbol obtained by the analysis is also sorted according to the size of the address; in this case, the embodiment of the present disclosure also proposes to include step S106.
Step S106: and in response to the sequencing including a plurality of continuous same addresses, reserving the mapping relation between the most front address and the symbol in the plurality of same addresses, and deleting the mapping relation between the rest addresses and the symbol in the plurality of same addresses.
As shown in the following table, the mapping relationship is ambiguous when the address is 0x0000000000004010 appears twice and the corresponding row number and column number are not the same twice. In order to avoid mapping ambiguity, in the embodiment of the present disclosure, a previous mapping is retained (that is, a mapping between a most previous address and a symbol in a plurality of identical addresses is retained), and a mapping between a next identical address and a symbol is deleted.
Address Line Column Flags
0x0000000000004000 62 0 is_stmt
0x0000000000004010 63 12 is_stmt
0x0000000000004010 64 9
In some applications of the embodiment of the present disclosure, after the step S101 is executed, the parsing method may further include the step S107: and deleting the mapping relation of the address matched with the preset error address from the mapping relation between the address and the symbol obtained by analysis.
For example, in an embodiment of the present disclosure, in the mapping relationship of determining addresses and symbols by performing S301 to S303, if the address in the source file corresponding to the symbol is determined to be smaller than the start address according to the offset and the start address of the source file, the mapping relationship is proved to be incorrect, and to avoid misleading caused by the symbol output by the mapping relationship, the mapping relationship matching the address and the preset incorrect address is directly deleted.
After determining the mapping relationship between each symbol and the corresponding target address range, the first address or other addresses in the symbol table, the mapping relationship needs to be stored in a preset database. In a specific application of the embodiment of the present disclosure, the preset database may include a plurality of storage nodes; in the mapping relationship, different storage nodes correspond to different address intervals.
Correspondingly, when there are a plurality of storage nodes and different storages correspond to different address intervals, step S104 may specifically include: and storing the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the symbol and the mapping relation between other addresses and symbols in the symbol table into corresponding storage nodes according to the first address, the target address range and address intervals to which other addresses in the symbol table belong.
For example, in an embodiment of the present disclosure, in order to divide and store different address intervals in corresponding storage nodes, a constant is first set in the embodiment of the present disclosure (in practical applications, the constant is set to be larger, for example, set to 10000); after the first address, the target address range or other addresses are obtained, the first address, the target address or other addresses are divided by the set length to obtain a quotient, and the subscript of an address interval where the storage node corresponding to the quotient is located is obtained; after the quotient is obtained, the mapping relation between the corresponding address or target address interval and the symbol is stored in the corresponding address interval, that is, in the corresponding storage node.
Corresponding to the foregoing step S104, after receiving the log file sent by the client, step S105 searches for an address in the log file from the database, obtains an inquiry quotient value by dividing the address in the log by a constant, then determines a storage node of the inquiry by comparing the inquiry quotient value with the table below of the address interval, and then determines a symbol corresponding to the inquiry address in the storage node according to a corresponding data retrieval method (for example, a binary search method).
Fig. 2 is a flowchart for searching a log file from a database for a symbol of an address corresponding point according to an embodiment of the present application. As shown in fig. 2, in the embodiment of the present disclosure, the preset database is configured to include a memory database and a disk database, where the memory database adopts a Remote Dictionary service (Redis) database, and the disk database adopts an Abase database platform; and the mapping relationship obtained in step S104 is loaded in the Abase database in full and in part in the remote dictionary service.
In this embodiment of the present application, the step S105 of searching the database for the symbol corresponding to the address in the log file includes steps S1051 to S1054.
S1051: determining whether a corresponding mapping relation is inquired in a remote dictionary service or not according to the address in the log file; if so, go to S1052; if not, S1053 is performed.
S1052: and returning the symbol corresponding to the address in the log file.
S1053: determining whether a corresponding mapping relation is inquired in an Abase database or not according to the address in the log file; if so, S1052 is executed, and S1054 is executed.
S1054: and loading the mapping relation corresponding to the address in the log file into the remote dictionary service.
The method for inquiring the symbol according to the address of the log file, provided by the embodiment of the disclosure, comprises the steps of firstly inquiring whether the corresponding mapping relation is hit in a memory database of a remote dictionary service so as to determine whether the corresponding symbol is found according to the characteristic of quick inquiry of the remote dictionary service; if the remote dictionary service does not store the corresponding mapping relation, the Abase database is inquired; and after the corresponding mapping relation is obtained by inquiring in the Abase database, determining a symbol corresponding to the address in the log file according to the log file and returning the symbol.
In the embodiment of the present disclosure, after the corresponding mapping relationship is queried in the Abase database, it indicates that the possibility that the corresponding mapping relationship is queried in the future is high, so that the corresponding mapping relationship can be written into the remote dictionary service of the memory database from the hard disk database Abase, so as to improve the processing efficiency through the characteristic of high memory processing speed of the remote dictionary service.
In a specific application of the embodiment of the present disclosure, if the mapping relationship stored in the remote dictionary service is not hit within a certain time, the remote dictionary service may set the corresponding mapping relationship to be expired and discard the corresponding mapping relationship.
The method for querying the symbol provided by the embodiment of the present disclosure may further include step S1055 in addition to the aforementioned steps S101 to S1054, where step S1055 is performed after step S1053.
S1055: after determining that no corresponding mapping relation is inquired in an Abase database according to the address in the log file, analyzing a symbol table in real time by adopting an llvm-tosl tool according to the address in the log file to obtain the mapping relation between the address and the symbol; subsequently, execution returns to S1052.
The llvm-tosl tool is a log analysis tool which is transformed based on a low-level Virtual Machine (llvm) of an open-source framework and can run in a Linux system, and needs to analyze a symbol table file in real time, so that a time-consuming bottleneck of analysis can be caused in high-concurrency large file transmission of the system; the method for querying the symbol provided by the embodiment of the disclosure is executed only under the condition that the corresponding symbol cannot be found by adopting the virtual dictionary service at the front end and the mapping relation stored in the Abase database, the concurrent execution efficiency is low, and the possibility of time consumption in the analysis is low; and when the virtual dictionary service and the Abase service are adopted to not inquire the corresponding symbols, the llvm-tosl tool is adopted to analyze the symbols as a backup, so that the problems that the mapping relation stored in the Abase is insufficient and the corresponding symbols cannot be inquired according to certain addresses can be solved.
In addition to providing the symbol parsing method, the embodiment of the present disclosure further provides a symbol parsing apparatus.
Fig. 3 is a schematic structural diagram of a symbol parsing apparatus according to an embodiment of the present disclosure. In the embodiment of the present disclosure, the symbol parsing apparatus 10 may be disposed in the electronic device, and configured to parse the received iOS file to obtain the corresponding symbol.
As shown in fig. X, the symbol parsing apparatus 10 includes a parsing module 11, a combining module 12, a correcting module 13, a storing module 14 and a searching module 15.
The parsing module 11 is configured to parse a mapping relationship between an address of a source file in the iOS of the apple mobile device and a symbol recognizable by a target system from a symbol table obtained in advance.
The merging module 12 is configured to merge mapping relationships between the multiple consecutive addresses and the symbols into mapping relationships between a target address range and the symbols corresponding to the multiple consecutive addresses when the analyzed symbols corresponding to the multiple consecutive addresses are the same, where the target address range is determined by the multiple consecutive addresses.
The correction module 13 is configured to, when the symbol corresponding to the first address in the symbol table obtained through analysis matches a preset error symbol, correct the symbol corresponding to the first address into a symbol corresponding to a second address in the symbol table, where the first address is an address corresponding to a non-breakpoint position in the symbol table; the second address is an address which corresponds to a breakpoint position in the symbol table, is closest to the first address in size and has a numerical value smaller than the first address;
a storage module 14, configured to store a mapping relationship between the first address and the corrected symbol, a corresponding relationship between the target address range and the symbol, and a mapping relationship between other addresses and symbols in the symbol table in a preset database.
The searching module 15 is configured to search, when receiving a log file sent by the iOS client, a symbol corresponding to an address in the log file from the database.
The symbol analyzing apparatus 10 according to the embodiment of the present disclosure has the following features.
In some applications of the embodiment of the present disclosure, the parsing module 11 includes a debugging information obtaining sub-module and a mapping relationship obtaining sub-module.
And the debugging information acquisition submodule is used for analyzing and obtaining the debugging information of the compiling unit corresponding to the address of the source file from the symbol table.
And the mapping relation acquisition sub-module is used for searching and acquiring the mapping relation between the address of the source file and the symbol which can be identified by the target system from the debugging information.
In some applications of the embodiment of the present disclosure, the mapping relation obtaining sub-module is further configured to, in response to that the debugging information of the compiling unit corresponding to the address of the source file is not obtained through parsing from the symbol table, add or subtract a preset threshold to the address of the source file, and then re-query the debugging information.
In some applications of the disclosed embodiments, the symbol parsing apparatus 10 further includes a sorting module; and the sorting module is used for sorting the mapping relation between the analyzed address and the symbol according to the size of the address.
In some applications of the disclosed embodiments, the symbol resolution device 10 further includes a deletion module; and the deleting module is used for responding to the situation that the sequencing comprises a plurality of continuous same addresses, reserving the mapping relation between the highest-sequencing address and the symbol in the plurality of same addresses, and deleting the mapping relation between the rest addresses and the symbols in the plurality of same addresses.
In some applications of the embodiment of the present disclosure, the deleting module is further configured to delete a mapping relationship, in which an address matches a preset error address, from the mapping relationship between the address and the symbol obtained through the parsing.
In some applications of embodiments of the present disclosure, the database includes a plurality of storage nodes, different storage nodes corresponding to different address intervals; correspondingly, the storage module 14 stores the mapping relationship between the first address and the corrected symbol, the mapping relationship between the target address range and the symbol, and the mapping relationship between the other addresses and the symbols in the symbol table into corresponding storage nodes according to the first address, the target address range, and the address interval to which the other addresses belong in the symbol table.
The apparatus provided in this embodiment can execute the method in any one of the embodiments in fig. 1-2, and the execution manner and the beneficial effects are similar, which are not described herein again.
The embodiment of the present disclosure further provides a computer device, which includes a processor and a memory, where the memory stores a computer program, and when the computer program is executed by the processor, the method of any one of the above-mentioned fig. 1-2 may be implemented.
For example, fig. 4 is a schematic structural diagram of a computer device in an embodiment of the present disclosure. Referring now in particular to fig. 4, there is shown a schematic block diagram of a computer device 1000 suitable for use in implementing embodiments of the present disclosure. The computer device 1000 in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), etc., and a stationary terminal such as a digital TV, a desktop computer, etc. The computer device shown in fig. 4 is only an example and should not bring any limitation to the function and scope of use of the embodiments of the present disclosure.
As shown in fig. 4, the computer apparatus 1000 may include a processing device (e.g., a central processing unit, a graphic processor, etc.) 1001 that may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)1002 or a program loaded from a storage device 1008 into a Random Access Memory (RAM) 1003. In the RAM 1003, various programs and data necessary for the operation of the computer apparatus 1000 are also stored. The processing device 1001, the ROM 1002, and the RAM 1003 are connected to each other by a bus 1004. An input/output (I/O) interface 1005 is also connected to bus 1004.
Generally, the following devices may be connected to the I/O interface 1005: input devices 1006 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, etc.; an output device 1007 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage devices 1008 including, for example, magnetic tape, hard disk, and the like; and a communication device 1009. The communication means 1009 may allow the computer device 1000 to communicate with other devices wirelessly or by wire to exchange data. While fig. 4 illustrates a computer device 1000 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication means 1009, or installed from the storage means 1008, or installed from the ROM 1002. The computer program, when executed by the processing device 1001, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the computer device; or may exist separately and not be incorporated into the computer device.
The computer readable medium carries one or more programs which, when executed by the computing device, cause the computing device to: analyzing a symbol table obtained in advance to obtain a mapping relation between an address of a source file in an iOS (operating System) of the apple mobile equipment and a symbol which can be identified by a target system;
in response to that the analyzed symbols corresponding to the multiple continuous addresses are the same, combining the mapping relations between the multiple continuous addresses and the symbols into a mapping relation between a target address range and the symbols corresponding to the multiple continuous addresses, wherein the target address range is determined by the multiple continuous addresses;
in response to the fact that the symbol corresponding to the first address in the symbol table is matched with a preset error symbol obtained through analysis, correcting the symbol corresponding to the first address into a symbol corresponding to the second address in the symbol table, wherein the first address is an address corresponding to a non-breakpoint position in the symbol table; the second address is an address which corresponds to a breakpoint position in the symbol table, is closest to the first address in size and has a numerical value smaller than the first address;
storing the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the corresponding symbol, and the mapping relation between other addresses and symbols in the symbol table in a preset database;
and when a log file sent by the iOS client is received, searching a symbol corresponding to an address in the log file from the database.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of an element does not in some cases constitute a limitation on the element itself.
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The embodiments of the present disclosure further provide a computer-readable storage medium, where a computer program is stored in the storage medium, and when the computer program is executed by a processor, the method of any one of the embodiments in fig. 1 to fig. 2 may be implemented, where the execution manner and the beneficial effects are similar, and are not described herein again.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The foregoing are merely exemplary embodiments of the present disclosure, which enable those skilled in the art to understand or practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (16)

1. A method for symbol resolution, comprising:
analyzing a symbol table obtained in advance to obtain a mapping relation between an address of a source file in an iOS (operating System) of the apple mobile equipment and a symbol which can be identified by a target system;
in response to that the analyzed symbols corresponding to the multiple continuous addresses are the same, combining the mapping relations between the multiple continuous addresses and the symbols into a mapping relation between a target address range and the symbols corresponding to the multiple continuous addresses, wherein the target address range is determined by the multiple continuous addresses;
in response to the fact that the symbol corresponding to the first address in the symbol table is matched with a preset error symbol obtained through analysis, correcting the symbol corresponding to the first address into a symbol corresponding to the second address in the symbol table, wherein the first address is an address corresponding to a non-breakpoint position in the symbol table; the second address is an address which corresponds to a breakpoint position in the symbol table, is closest to the first address in size and has a numerical value smaller than the first address;
storing the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the corresponding symbol, and the mapping relation between other addresses and symbols in the symbol table in a preset database;
and when a log file sent by the iOS client is received, searching a symbol corresponding to an address in the log file from the database.
2. The method according to claim 1, wherein the symbol table includes a mapping relationship between an address of the source file and debug information of a compilation unit of the source file, and the debug information includes a mapping relationship between the address and a symbol recognizable by a target system;
the analyzing and obtaining the mapping relation between the address of the source file in the iOS of the apple mobile device and the symbol which can be identified by the target system from the symbol table obtained in advance comprises the following steps:
analyzing the symbol table to obtain debugging information of a compiling unit corresponding to the address of the source file;
and searching and obtaining the mapping relation between the address of the source file and the symbol which can be identified by the target system from the debugging information.
3. The method of claim 2, wherein the mapping relationship between the address of the source file in the iOS of the apple mobile device and the symbol recognizable by the target system is resolved from a pre-obtained symbol table, further comprising:
and in response to that the debugging information of the compiling unit corresponding to the address of the source file is not obtained by analyzing from the symbol table, adding or subtracting a preset threshold value to the address of the source file, and then re-inquiring the debugging information.
4. The method of claim 1, wherein after parsing the mapping relationship between the address of the source file in the iOS and the symbol recognizable by the target system from the pre-obtained symbol table, the method further comprises:
and sequencing the mapping relation between the analyzed address and the symbol according to the size of the address.
5. The method of claim 4, wherein after sorting the mapping relationship between the resolved address and the symbol according to the size of the address, the method further comprises:
and in response to the sequencing including a plurality of continuous same addresses, reserving the mapping relation between the highest-sequenced address and the symbol in the plurality of same addresses, and deleting the mapping relation between the rest addresses and the symbols in the plurality of same addresses.
6. The method of claim 1, wherein after parsing the mapping relationship between the address in the apple mobile device operating system iOS and the symbol recognizable by the target system from the pre-obtained symbol table, the method further comprises:
and deleting the mapping relation of the address matched with the preset error address from the mapping relation between the address and the symbol obtained by analysis.
7. The method according to any of claims 1-6, wherein the database comprises a plurality of storage nodes, different storage nodes corresponding to different address intervals;
the storing, in a preset database, a mapping relationship between the first address and the corrected symbol, a corresponding relationship between the target address range and the symbol, and a mapping relationship between other addresses and symbols in the symbol table includes:
and storing the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the symbol and the mapping relation between other addresses and symbols in the symbol table into corresponding storage nodes according to the first address, the target address range and address intervals to which other addresses in the symbol table belong.
8. A symbol resolution device, comprising:
the analysis module is used for analyzing and obtaining a mapping relation between an address of a source file in an iOS (operating system of the apple mobile equipment) and a symbol which can be identified by a target system from a symbol table obtained in advance;
a merging module, configured to merge mapping relationships between multiple consecutive addresses and symbols into a mapping relationship between a target address range and symbols corresponding to the multiple consecutive addresses when the analyzed symbols corresponding to the multiple consecutive addresses are the same, where the target address range is determined by the multiple consecutive addresses;
the correction module is used for correcting the symbol corresponding to the first address into a symbol corresponding to a second address in the symbol table when the symbol corresponding to the first address in the symbol table obtained through analysis is matched with a preset error symbol, wherein the first address is an address corresponding to a non-breakpoint position in the symbol table; the second address is an address which corresponds to a breakpoint position in the symbol table, is closest to the first address in size and has a numerical value smaller than the first address;
a storage module, configured to store a mapping relationship between the first address and the corrected symbol, a corresponding relationship between the target address range and the symbol, and a mapping relationship between other addresses and symbols in the symbol table in a preset database;
and the searching module is used for searching the symbol corresponding to the address in the log file from the database when the log file sent by the iOS client is received.
9. The symbol resolution device according to claim 8, wherein the symbol table includes a mapping relationship between an address of the source file and debug information of a compiling unit of the source file, and the debug information includes a mapping relationship between the address and a symbol recognizable by a target system;
the parsing module includes:
the debugging information acquisition submodule is used for analyzing and obtaining debugging information of a compiling unit corresponding to the address of the source file from the symbol table;
and the mapping relation obtaining sub-module is used for searching and obtaining the mapping relation between the address of the source file and the symbol which can be identified by the target system from the debugging information.
10. The symbol resolution device according to claim 9, wherein:
the mapping relation obtaining sub-module is further configured to, in response to that the debugging information of the compiling unit corresponding to the address of the source file is not obtained through parsing from the symbol table, add or subtract a preset threshold value to or from the address of the source file, and then re-query the debugging information.
11. The symbol resolution device according to claim 8, further comprising:
and the sorting module is used for sorting the mapping relation between the analyzed address and the symbol according to the size of the address.
12. The symbol resolution device according to claim 11, further comprising:
and a deleting module, configured to, in response to that the ordering includes a plurality of consecutive identical addresses, reserve a mapping relationship between an address and a symbol that are the highest in the ordering among the plurality of identical addresses, and delete a mapping relationship between the remaining addresses and symbols among the plurality of identical addresses.
13. The symbol resolution device according to claim 8, wherein:
and the deleting module is also used for deleting the mapping relation of the address matched with the preset error address from the mapping relation between the address and the symbol obtained by analysis.
14. The symbol resolution device according to any one of claims 8 to 13, wherein:
the database comprises a plurality of storage nodes, and different storage nodes correspond to different address intervals;
and the storage module stores the mapping relation between the first address and the corrected symbol, the mapping relation between the target address range and the symbol and the mapping relation between other addresses and symbols in the symbol table into corresponding storage nodes according to the first address, the target address range and the address interval to which other addresses in the symbol table belong.
15. A computer device, comprising:
memory and a processor, wherein the memory has stored therein a computer program which, when executed by the processor, implements the method of any of claims 1-7.
16. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-7.
CN202110564299.3A 2021-05-24 2021-05-24 Symbol analysis method, device, equipment and storage medium Pending CN113157731A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110564299.3A CN113157731A (en) 2021-05-24 2021-05-24 Symbol analysis method, device, equipment and storage medium
PCT/CN2022/083583 WO2022247442A1 (en) 2021-05-24 2022-03-29 Symbol parsing method and apparatus, and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110564299.3A CN113157731A (en) 2021-05-24 2021-05-24 Symbol analysis method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113157731A true CN113157731A (en) 2021-07-23

Family

ID=76877155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110564299.3A Pending CN113157731A (en) 2021-05-24 2021-05-24 Symbol analysis method, device, equipment and storage medium

Country Status (2)

Country Link
CN (1) CN113157731A (en)
WO (1) WO2022247442A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114840400A (en) * 2022-04-14 2022-08-02 北京字节跳动网络技术有限公司 Abnormal component identification method, device, equipment, storage medium and program product
WO2022247442A1 (en) * 2021-05-24 2022-12-01 北京字节跳动网络技术有限公司 Symbol parsing method and apparatus, and device and storage medium
CN115865866A (en) * 2022-12-13 2023-03-28 厦门海辰储能科技股份有限公司 Address allocation method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783743A (en) * 2004-11-17 2006-06-07 LG-Nortel株式会社 System and method for monitoring active device by restoring symbol table in duplexing system
CN102566768A (en) * 2010-12-13 2012-07-11 腾讯科技(深圳)有限公司 Method and system for automatic character judgment and correction
CN102981956A (en) * 2012-11-30 2013-03-20 华为技术有限公司 Method, and device for establishing overlay symbol table, method and device and program modulation system for establishing and searching overlay symbol table, and program modulation system
CN107092554A (en) * 2016-02-18 2017-08-25 阿里巴巴集团控股有限公司 The failure code confirmation method and device of a kind of application program
CN107710326A (en) * 2015-07-16 2018-02-16 德克萨斯仪器股份有限公司 Dynamic of the redundant memory cell during operation lifetime enables
CN108334515A (en) * 2017-01-20 2018-07-27 阿里巴巴集团控股有限公司 The method, apparatus and system of stack address in file are collapsed in a kind of processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547782B (en) * 2015-09-22 2020-06-02 阿里巴巴集团控股有限公司 Log information acquisition method and device
CN111506491B (en) * 2019-01-31 2023-05-02 阿里巴巴集团控股有限公司 Information processing method and device, storage medium and processor
CN111381992B (en) * 2020-03-06 2022-07-08 北京五八信息技术有限公司 Crash log processing method and device, electronic equipment and storage medium
CN113157731A (en) * 2021-05-24 2021-07-23 北京字节跳动网络技术有限公司 Symbol analysis method, device, equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783743A (en) * 2004-11-17 2006-06-07 LG-Nortel株式会社 System and method for monitoring active device by restoring symbol table in duplexing system
CN102566768A (en) * 2010-12-13 2012-07-11 腾讯科技(深圳)有限公司 Method and system for automatic character judgment and correction
CN102981956A (en) * 2012-11-30 2013-03-20 华为技术有限公司 Method, and device for establishing overlay symbol table, method and device and program modulation system for establishing and searching overlay symbol table, and program modulation system
CN107710326A (en) * 2015-07-16 2018-02-16 德克萨斯仪器股份有限公司 Dynamic of the redundant memory cell during operation lifetime enables
CN107092554A (en) * 2016-02-18 2017-08-25 阿里巴巴集团控股有限公司 The failure code confirmation method and device of a kind of application program
CN108334515A (en) * 2017-01-20 2018-07-27 阿里巴巴集团控股有限公司 The method, apparatus and system of stack address in file are collapsed in a kind of processing

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022247442A1 (en) * 2021-05-24 2022-12-01 北京字节跳动网络技术有限公司 Symbol parsing method and apparatus, and device and storage medium
CN114840400A (en) * 2022-04-14 2022-08-02 北京字节跳动网络技术有限公司 Abnormal component identification method, device, equipment, storage medium and program product
WO2023197851A1 (en) * 2022-04-14 2023-10-19 北京字节跳动网络技术有限公司 Abnormal component identification method and apparatus, device, storage medium, and program product
CN115865866A (en) * 2022-12-13 2023-03-28 厦门海辰储能科技股份有限公司 Address allocation method and device
CN115865866B (en) * 2022-12-13 2023-12-22 厦门海辰储能科技股份有限公司 Address allocation method and device

Also Published As

Publication number Publication date
WO2022247442A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
CN107506451B (en) Abnormal information monitoring method and device for data interaction
CN113157731A (en) Symbol analysis method, device, equipment and storage medium
CN111352902A (en) Log processing method and device, terminal equipment and storage medium
CN107704202B (en) Method and device for quickly reading and writing data
CN111125555B (en) Enterprise information acquisition method and device
CN115757400B (en) Data table processing method, device, electronic equipment and computer readable medium
CN112115153A (en) Data processing method, device, equipment and storage medium
CN111950857A (en) Index system management method and device based on service indexes and electronic equipment
CN115825312A (en) Chromatographic detection data interaction method, device, equipment and computer readable medium
CN109902726B (en) Resume information processing method and device
CN115168362A (en) Data processing method and device, readable medium and electronic equipment
CN110990346A (en) File data processing method, device, equipment and storage medium based on block chain
CN111241137A (en) Data processing method and device, electronic equipment and storage medium
CN113918659A (en) Data operation method and device, storage medium and electronic equipment
CN111488386B (en) Data query method and device
CN110196952B (en) Program code search processing method, device, equipment and storage medium
CN110866031B (en) Database access path optimization method and device, computing equipment and medium
CN110069604B (en) Text search method, text search device and computer-readable storage medium
US20230138113A1 (en) System for retrieval of large datasets in cloud environments
CN112612866B (en) Knowledge base text synchronization method and device, electronic equipment and storage medium
CN110688355A (en) Method and device for changing container state
CN111737040B (en) Program code repairing method and device
CN111641690B (en) Session message processing method and device and electronic equipment
CN110413603B (en) Method and device for determining repeated data, electronic equipment and computer storage medium
CN113609128A (en) Method and device for generating database entity class, terminal equipment and storage medium

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