CN114625572B - Reverse debugging memory backup method, electronic device and medium - Google Patents

Reverse debugging memory backup method, electronic device and medium Download PDF

Info

Publication number
CN114625572B
CN114625572B CN202210279865.0A CN202210279865A CN114625572B CN 114625572 B CN114625572 B CN 114625572B CN 202210279865 A CN202210279865 A CN 202210279865A CN 114625572 B CN114625572 B CN 114625572B
Authority
CN
China
Prior art keywords
backup
point
points
candidate
backup point
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.)
Active
Application number
CN202210279865.0A
Other languages
Chinese (zh)
Other versions
CN114625572A (en
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 Yunshu Innovation Software Technology Co ltd
Shanghai Hejian Industrial Software Group Co Ltd
Original Assignee
Beijing Yunshu Innovation Software Technology Co ltd
Shanghai Hejian Industrial Software Group 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 Yunshu Innovation Software Technology Co ltd, Shanghai Hejian Industrial Software Group Co Ltd filed Critical Beijing Yunshu Innovation Software Technology Co ltd
Priority to CN202210279865.0A priority Critical patent/CN114625572B/en
Publication of CN114625572A publication Critical patent/CN114625572A/en
Application granted granted Critical
Publication of CN114625572B publication Critical patent/CN114625572B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Abstract

The invention relates to a reverse debugging memory backup method, electronic equipment and a medium, wherein the method comprises the following steps: step S100, initializing ST 1 Is equal to ST 2 Starting from the starting point every interval ST 1 Creating backup point information, and executing the step S200 when G is equal to N; step S200, setting ST 1 =ST 1 * n; step S300, judging whether the time interval between the current time and the last backup point is less than ST 1 If the first candidate backup point exists, executing the step S400, otherwise, returning to the step S200; step S400, determining all backup points with the minimum time interval with the last backup point in the first candidate backup points as second candidate backup points, and deleting the information of the second candidate backup points if only one backup point exists; if a plurality of backup points exist, deleting the information of the second candidate backup point farthest from the current moment; step S500, ST after the last created backup point 2 Then, the next backup point information is created, and the process returns to step S300. The invention improves the reverse debugging performance and efficiency.

Description

Reverse debugging memory backup method, electronic device and medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method, an electronic device, and a medium for backing up a memory in a reverse debug mode.
Background
Reverse debugging (Reverse debug) refers to having a program execute in Reverse to perform debugging. Because the program can only be executed forward, in order to implement reverse execution, a backup point (checkpoint) needs to be set at a certain time of program operation to backup the memory of the program at the current time. When the program needs to be executed reversely, the program is restored to the backup point nearest to the nearest target detection point and then is executed to the needed target detection point. The number of backup points and the generation strategy are crucial to the implementation and performance of reverse debugging. Too many backup points will cause overflow of the server memory, and too few will not guarantee the performance of reverse debugging. If the position set by the backup point is too far away from the target detection point, the performance of reverse debugging cannot be ensured. Therefore, how to provide a memory backup method capable of improving the reverse debugging performance is an urgent technical problem to be solved.
Disclosure of Invention
The invention aims to provide a memory backup method, electronic equipment and medium for reverse debugging, which improve the reverse debugging performance and efficiency by dynamically setting backup points within a reasonable quantity range.
According to a first aspect of the present invention, a method for backing up a memory in reverse debugging is provided, including:
step S100, initializing a first time step ST 1 Equal to a preset second time step ST 2 Taking the starting point of the preset debugging program as the starting point, and enabling the debugging program to be arranged at intervals ST 1 Creating backup point information, wherein the backup point information comprises the corresponding moment of the backup point and the memory state information of the preset debugging program at the corresponding moment of the backup point, and executing the step S200 when G is equal to N, wherein G is the number of the current backup points, and N is a preset threshold value of the number of the backup points;
step S200, setting ST 1 = ST 1 * n, wherein n is a preset doubling parameter, and n is an integer greater than or equal to 2;
step S300, judging whether the time interval between the current time and the last backup point is less than ST 1 If the first candidate backup point exists, executing the step S400, and if the first candidate backup point does not exist, returning to execute the step S200;
s4, determining all backup points with the minimum time interval with the last backup point in the first candidate backup points as second candidate backup points, and deleting the information of the second candidate backup points if only one second candidate backup point exists; if a plurality of second candidate backup points exist, deleting the information of the second candidate backup point farthest from the current moment;
step S500, ST after the last created backup point 2 Creates the next backup point information and returns to execute step S300.
According to a second aspect of the present invention, there is provided an electronic apparatus comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being arranged to perform the method of the first aspect of the invention.
According to a third aspect of the invention, there is provided a computer readable storage medium, the computer instructions being for performing the method of the first aspect of the invention.
Compared with the prior art, the invention has obvious advantages and beneficial effects. By means of the technical scheme, the reverse debugging memory backup method, the electronic equipment and the medium provided by the invention can achieve considerable technical progress and practicability, have industrial wide utilization value and at least have the following advantages:
the invention keeps the number of the backup points in the reverse program operation within N all the time, avoids the overflow of the server memory, and leads the current point to be at the second time step ST by a specific strategy of deleting the backup points and a specific strategy of creating the backup points 2 The clock in the interval has a backup point, and other N-1 backup points are distributed as evenly as possible, thereby ensuring that the point needing reverse debugging can be at the second time step ST from the current time 2 The target debugging point in the system can be quickly and reversely debugged, and the second time step from the current moment can be ensured to be larger than ST 2 The reverse debugging performance of other debugs is nearly the same, and the performance and the efficiency of the reverse debugging are improved.
The foregoing description is only an overview of the technical solutions of the present invention, and in order to make the technical means of the present invention more clearly understood, the present invention may be implemented in accordance with the content of the description, and in order to make the above and other objects, features, and advantages of the present invention more clearly understood, the following preferred embodiments are described in detail with reference to the accompanying drawings.
Drawings
Fig. 1 is a flowchart of a method for backing up a memory in a reverse debug mode according to an embodiment of the present invention;
fig. 2 is a flowchart of a method for backing up a memory in reverse debugging according to a second embodiment of the present invention.
Detailed Description
To further illustrate the technical means and effects of the present invention adopted to achieve the predetermined objects, the following detailed description will be given to specific embodiments and effects of a method, an electronic device and a medium for memory backup with reverse debug according to the present invention with reference to the accompanying drawings and preferred embodiments.
The first embodiment,
An embodiment provides a method for backing up a memory in reverse debugging, as shown in fig. 1, including:
step S100, initializing a first time step ST 1 Equal to a preset second time step ST 2 Taking the starting point of a preset debugging program as a starting point, and every interval ST 1 Creating backup point information, wherein the backup point information comprises the corresponding time of a backup point and the memory state information of the preset debugging program at the corresponding time of the backup point, and executing the step S200 when G is equal to N, wherein G is the number of the current backup points, and N is a preset threshold value of the number of the backup points;
wherein the second time step ST 2 Setting the maximum step length used by the preset debugging program after the corresponding simulator runs without delay, for example, if the simulator executes the preset debugging program within 500ns, the user cannot perceive the delay, and if the user can perceive the delay after the time exceeds 500ns, the second time step length ST is set 2 Set to 500ns, it will be appreciated that the second time step ST corresponds to a different debugger 2 May be different.
Step S200, setting ST 1 = ST 1 * n, wherein n is a preset doubling parameter, and n is an integer greater than or equal to 2;
the specific value of n is determined comprehensively based on factors such as specific application scenes and application accuracy requirements, and preferably, the value of n is 2.
Step S300, judging whether the time interval between the current time and the last backup point is less than ST 1 If the first candidate backup point exists, executing the step S400, and if the first candidate backup point does not exist, returning to execute the step S200;
it should be noted that, the time interval between the current backup point closest to the starting point and the previous backup point refers to the current backup point closest to the starting pointThe time interval from the starting point, it will be appreciated that the time interval between two backup points may be determined directly based on the time difference between the times at which the two backup points correspond. The backup time intervals corresponding to all the current backup points are equal to ST 1 At this time, it is necessary to return to step S200 to double the first time step. Since the first embodiment always needs to set a second time step ST apart from the current point 2 The time interval between each backup point and the last backup point is at least one of three possible types, the first type of backup interval is the current ST 1 Second, the backup interval is the current ST 1 A third, backup interval of [ ST ] 2 ,ST 1 ) Can divide ST by one 2 The value of (c). Therefore, the time interval from the last backup point is less than ST 1 There may be two backup intervals, so that a second candidate backup point needs to be further selected from the first candidate backup point in step S400.
Step S400, determining all backup points with the minimum time interval with the last backup point in the first candidate backup points as second candidate backup points, and deleting the information of the second candidate backup points if only one second candidate backup point exists; if a plurality of second candidate backup points exist, deleting the information of the second candidate backup point farthest from the current moment;
step S500, ST after the last created backup point 2 Creates the next backup point information and returns to execute step S300.
In an application scenario of actual reverse debugging, under a condition of a large probability, a point needing reverse debugging is closer to a current point in position, for example, under a condition of more than 80%, the point needing reverse debugging may be at a second time step ST from the current time 2 Within 20% of the points requiring reverse debug exceed the second time step ST from the current time 2 In addition, the first embodiment is applicable to the point needing inverse debugging and the second time step ST from the current time 2 And (4) scenes with large internal occupation ratios.
In the first embodiment, the number of backup points in the reverse program operation is always maintained within N, thereby avoiding the overflow of the server memory, and the specific strategy for deleting the backup points and the specific strategy for creating the backup points in steps S100 to S500 are set, so that the distance from the current point to the current point is within the second time step ST 2 The clock in the interval has a backup point, and other N-1 backup points are distributed as evenly as possible, so that the point needing reverse debugging can be ensured to be at the second time step ST from the current time 2 The target debugging point in the system can be quickly and reversely debugged, and the second time step length from the current moment can be ensured to be larger than ST 2 The reverse debugging performance of other debugs is nearly the same, and the performance and the efficiency of the reverse debugging are improved.
The threshold N of the number of backup points may be set by an empirical value, or may be determined by the following implementation manner, as an example, the method further includes:
s10, acquiring a server idle memory M, a running reserved memory R of a preset debugging program and a backup point average occupied memory P;
it can be understood that the free memory may be a free memory value corresponding to the server at the initial time of running the preset debugging program. The operation of the preset debugging program to reserve the memory refers to the memory which is expected to be occupied when the server operates the preset debugging program. As an embodiment, in the step S10, the obtaining the average occupied memory P of the backup point includes:
step S101, acquiring a memory a corresponding to the initial moment of the preset debugging program and a memory b corresponding to the running ending moment;
step S102, determining the average memory P occupied by the backup points based on a and b:
P=(a+b)/2。
it should be noted that, the memory usage process of the running program is generally linear, so that the average memory P usage of the backup point can be directly obtained based on steps S101 to S102.
Step S20, determining the preset backup point number threshold N based on M, R and P:
N = ⌊ (M – R) / P ⌋。
as an embodiment, the backup point information is stored in a preset backup list, where the backup list includes a backup point id, priority information, and a memory status information field, and it may be understood that, when a backup point is deleted in step S400, an entire record of the backup point id, priority information, and memory status information field corresponding to the backup point in the backup list is deleted. When a backup point is newly created in step S500, a corresponding record is added to the backup list. The priority information dynamically changes with the addition and deletion of backup points, the method further comprising:
and step S30, acquiring a backup time interval between each currently existing backup point and the last currently existing backup point in real time, and dynamically updating priority information corresponding to each backup point id in the backup list, wherein the size of the backup time interval is inversely proportional to the priority.
The backup list can be directly stored in a computer memory, or a database can be constructed, and the backup list is stored in a preset database.
Based on the backup list, the step S300 includes:
step S311, obtaining the backup point id with the highest current priority from the backup list;
step S312, judging whether the backup time interval corresponding to the id with the highest priority is smaller than ST 1 If the first candidate backup point is smaller than the second candidate backup point, determining all previous backup points with the highest priority as first candidate backup points, and executing the step S400, otherwise, returning to execute the step S200.
As another embodiment, the backup point information may also be directly stored in a computer memory, or a preset database is constructed and directly stored in the preset database, and the step S300 may include:
step S301, based on the time interval between the current time and the last backup point being less than ST 1 The backup point (S) construct a first candidate backup point list, determine whether the current first candidate backup point list is empty, if not, execute step S400, otherwise, return to execute step S200.
Under the above policy of creating and deleting backup points, as an embodiment, the method further includes:
step S600, obtaining target debugging point information, and taking a backup point which is located before the target debugging point and is closest to the target debugging point as a target backup point;
step S700, retrieving memory state information of a preset debugging program corresponding to the target backup point, and executing the preset debugging program with the target backup point as a starting point.
The target debugging point information refers to a debugging point which needs to be returned to for debugging and is input by a user, the execution of the current debugging program can be stopped at the moment, the target backup point is directly returned, the memory state information of the corresponding preset debugging program is called, the preset debugging program is executed by taking the target backup point as a starting point, the program does not need to be restarted, and the strategy of creating and deleting the backup points based on the embodiment of the invention ensures that N backup points are distributed on a time axis as uniformly as possible, thereby ensuring the performance of reverse debugging.
Example II,
In some application scenarios, it may only be necessary to implement that N backup points are distributed as evenly as possible, and it is not necessary to ensure that a current point always exists as a backup point with a closer position.
An embodiment two provides a method for backing up a memory in reverse debugging, as shown in fig. 2, including:
step S1, initializing a first time step ST 1 Equal to a preset second time step ST 2 Taking the starting point of a preset debugging program as a starting point, and every interval ST 1 Creating backup point information, wherein the backup point information comprises the corresponding moment of the backup point and the memory state information of the preset debugging program at the corresponding moment of the backup point, and executing the step S2 when G is equal to N, wherein G is the number of the current backup points, and N is a preset threshold value of the number of the backup points;
wherein the second time step ST 2 Set the preset debugging program in pairThe maximum step length used after the simulator (simulator) runs without delay, for example, when the simulator executes the preset debugging program within 500ns, the user can not sense the delay, and when the user can sense the delay after the time exceeds 500ns, the second time step length ST is used 2 Set to 500ns, it will be appreciated that the second time step ST corresponds to a different debugger 2 May be different.
Step S2, setting ST 1 = ST 1 * n, wherein n is a preset doubling parameter, and n is an integer greater than or equal to 2;
the specific value of n is determined comprehensively based on factors such as specific application scenes and application accuracy requirements, and preferably, the value of n is 2.
S3, judging whether the time interval between the current moment and the last backup point is smaller than ST 1 If the first candidate backup point exists, executing the step S4, and if the first candidate backup point does not exist, returning to execute the step S2;
it should be noted that, the time interval between the current backup point closest to the starting point and the previous backup point refers to the time interval between the current backup point closest to the starting point and the starting point, and it is understood that the time interval between two backup points may be directly determined based on the time difference between the times corresponding to the two backup points. Wherein, the time interval between each backup point and the last backup point may exist at least one of two types, the first type, the backup interval is the current ST 1 Second, the backup interval is the current ST 1 And/n. The backup time intervals corresponding to all the current backup points are equal to ST 1 At this time, it is necessary to return to step S2 to double the first time step.
Step S4, if only one first candidate backup point exists, deleting the information of the first candidate backup point; if a plurality of first candidate backup points exist, deleting the information of the first candidate backup point farthest from the current moment;
step S5, ST after the last backup point created 1 Creates the next backup point information and returns to execute step S3.
It should be noted that too much backup points may cause overflow of a server memory running a debugging program, even normal running is not possible, and too few backup points may not guarantee performance of reverse debugging, so that the embodiment of the present invention sets a preset threshold N for the number of backup points, so that the number of backup points in running the reverse program is always maintained within N, thereby avoiding overflow of the server memory, and by setting a specific strategy for deleting backup points and a strategy for creating backup points in steps S1 to S5, all backup points currently existing are distributed as evenly as possible, thereby ensuring that performance of reverse debugging at each point is approximately the same when any target debugging point is called back to any point at a far position, and improving performance of reverse debugging.
It should be noted that other technical details may be implemented by referring to the specific implementation details in the first embodiment, and are not described herein again.
An embodiment of the present invention further provides an electronic device, including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor and configured to perform a method according to any one of the embodiments of the invention.
The embodiment of the invention also provides a computer-readable storage medium, and the computer instructions are used for executing the method of any embodiment of the invention.
Although the present invention has been described with reference to a preferred embodiment, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (8)

1. A method for backing up a reverse debugging memory is characterized by comprising the following steps:
step S100, initializing a first time step ST 1 Equal to a preset second time step ST 2 Taking the starting point of a preset debugging program as a starting point, and every interval ST 1 Creating backup point information, wherein the backup point information comprises the corresponding time of a backup point and the memory state information of the preset debugging program at the corresponding time of the backup point, and executing the step S200 when G is equal to N, wherein G is the number of the current backup points, and N is a preset threshold value of the number of the backup points;
step S200, ST 1 * Assigning a value of n to ST 1 Wherein n is a preset doubling parameter, and n is an integer greater than or equal to 2;
step S300, judging whether the time interval between the current time and the last backup point is less than ST or not 1 If the first candidate backup point exists, executing the step S400, and if the first candidate backup point does not exist, returning to execute the step S200;
the time interval between each backup point and the last backup point is at least one of the following three cases: first, the backup interval is the current ST 1 Second, the backup interval is the current ST 1 A third, backup interval of [ ST ] 2 ,ST 1 ) Can divide ST by itself 2 A value of (d);
step S400, determining all backup points with the minimum time interval with the last backup point in the first candidate backup points as second candidate backup points, and deleting the information of the second candidate backup points if only one second candidate backup point exists; if a plurality of second candidate backup points exist, deleting the information of the second candidate backup point farthest from the current moment;
step S500, ST after the last created backup point 2 Creates the next backup point information and returns to execute step S300.
2. The method of claim 1,
the step S300 includes:
step S301, the time interval between the current time and the last backup point is less than ST 1 The backup point (S) construct a first candidate backup point list, determine whether the current first candidate backup point list is empty, if not, execute step S400, otherwise, return to execute step S200.
3. The method of claim 2,
when the first candidate backup point list is empty, the backup time intervals corresponding to all current backup points are equal to ST 1
4. The method of claim 1,
the value of n is 2.
5. The method of claim 1,
the second time step ST 2 And setting the maximum step length used by the preset debugging program after the corresponding simulator runs without delay.
6. The method of claim 1,
the method further comprises the following steps:
step S600, target debugging point information is obtained, and a backup point which is located before the target debugging point and is closest to the target debugging point is used as a target backup point;
step S700, retrieving memory state information of a preset debugging program corresponding to the target backup point, and executing the preset debugging program with the target backup point as a starting point.
7. An electronic device, comprising:
at least one processor;
and a memory communicatively coupled to the at least one processor;
wherein the memory stores instructions executable by the at least one processor, the instructions being arranged to perform the method of any of the preceding claims 1-6.
8. A computer-readable storage medium having stored thereon computer-executable instructions for performing the method of any one of claims 1-6.
CN202210279865.0A 2022-03-22 2022-03-22 Reverse debugging memory backup method, electronic device and medium Active CN114625572B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210279865.0A CN114625572B (en) 2022-03-22 2022-03-22 Reverse debugging memory backup method, electronic device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210279865.0A CN114625572B (en) 2022-03-22 2022-03-22 Reverse debugging memory backup method, electronic device and medium

Publications (2)

Publication Number Publication Date
CN114625572A CN114625572A (en) 2022-06-14
CN114625572B true CN114625572B (en) 2023-01-31

Family

ID=81903668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210279865.0A Active CN114625572B (en) 2022-03-22 2022-03-22 Reverse debugging memory backup method, electronic device and medium

Country Status (1)

Country Link
CN (1) CN114625572B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004400A (en) * 2005-06-22 2007-01-11 Oki Data Corp Program debug method
CN103577315A (en) * 2012-07-30 2014-02-12 国际商业机器公司 Reverse debugger and reverse debugging method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201762B1 (en) * 2010-04-21 2015-12-01 Marvell International Ltd. Processor implemented systems and methods for reversible debugging using a replicate process system call
CN107102940A (en) * 2017-03-16 2017-08-29 浙江大学 A kind of combination full dose type checking point inversely performs implementation method with the target program that incremental is reformed

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004400A (en) * 2005-06-22 2007-01-11 Oki Data Corp Program debug method
CN103577315A (en) * 2012-07-30 2014-02-12 国际商业机器公司 Reverse debugger and reverse debugging method

Also Published As

Publication number Publication date
CN114625572A (en) 2022-06-14

Similar Documents

Publication Publication Date Title
US20180275987A1 (en) Optimization of a software image layer stack
US10817386B2 (en) Virtual machine recovery method and virtual machine management device
CN102576331B (en) System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment
CN112667405B (en) Information processing method, device, equipment and storage medium
CN114625507B (en) Task scheduling method, system, equipment and storage medium based on directed acyclic graph
US8826238B2 (en) Per group verification
CN112256433B (en) Partition migration method and device based on Kafka cluster
CN112948169A (en) Data backup method, device, equipment and storage medium
CN109117086B (en) Storage device data position processing method, device, equipment and storage medium
EP3933639B1 (en) Transaction processing method, apparatus, and electronic device for blockchain
CN114625572B (en) Reverse debugging memory backup method, electronic device and medium
CN112631994A (en) Data migration method and system
CN114356662A (en) Reverse debugging memory backup method, electronic device and medium
CN110909023B (en) Query plan acquisition method, data query method and data query device
CN109343953B (en) Memory management method and device and electronic equipment
CN114490193A (en) Recovery method and device for heterogeneous redundant system
CN111880803B (en) Software construction method and device applied to multiple platforms
CN109241027B (en) Data migration method, device, electronic equipment and computer readable storage medium
CN111782367B (en) Distributed storage method and device, electronic equipment and computer readable medium
CN116627782A (en) Method, device, electronic equipment, medium and system for optimizing calculated amount
CN116701410B (en) Method and system for storing memory state data for data language of digital networking
CN117273811B (en) Enterprise power consumption prediction data processing method based on power consumption data
CN116560814A (en) Task scheduling method on SoC, electronic device and machine-readable storage medium
CN117472583A (en) Method for dynamically binding CPU cores by multiple processes in operating system
CN116431063A (en) Streaming data processing method and device, electronic 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
GR01 Patent grant
GR01 Patent grant