CN102117242A - Method and device for detecting internal memory leakage - Google Patents
Method and device for detecting internal memory leakage Download PDFInfo
- Publication number
- CN102117242A CN102117242A CN200910244315XA CN200910244315A CN102117242A CN 102117242 A CN102117242 A CN 102117242A CN 200910244315X A CN200910244315X A CN 200910244315XA CN 200910244315 A CN200910244315 A CN 200910244315A CN 102117242 A CN102117242 A CN 102117242A
- Authority
- CN
- China
- Prior art keywords
- internal memory
- code
- label
- code module
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
The invention provides a method and a device for detecting internal memory leakage. The method comprises the following steps of selecting a code module from a source code program to be detected, adding labels before and after the code module, applying the internal memory for the labels, not releasing the internal memory, running the program, querying the internal memory leakage prompting information corresponding to labels in the debugging information, judging whether other internal memory leakage information exists between the internal memory leakage prompting information corresponding to the labels; if so, a source code sentence of a code module does not have the internal memory leakage; if not, the source code sentence of the code module is judged to have the internal memory leakage. By adopting the method and the device, the detecting time can be saved, the efficiency of searching the internal memory leakage is improved, as only the labels need to be applied, various detecting tools including complex functions do not need to be started, so that the operation of a user is facilitated and the resource occupying of the various detecting tools can be reduced effectively during running.
Description
Technical field
The present invention relates to technical field of measurement and test, particularly relate to a kind of method and apparatus that internal memory is revealed that detects.
Background technology
In computer science, memory overflow is meant because carelessness or mistake cause program to fail to discharge the situation of the internal memory that has not re-used.Memory overflow is not to refer to internal memory disappearance physically, but behind the application assigned section internal memory, because design mistake has lost the control to this section internal memory, thereby caused the waste of internal memory.Memory overflow has similar symptom to many other problemses, and generally can only just can be analyzed out by those programmers that can obtain program source code
Generally our the normal memory overflow of saying is meant the leakage of heap memory.That heap memory is meant is that program is distributed from heap, size arbitrarily, must show the internal memory that discharges after using.Application program generally uses function such as new to be assigned to an internal memory from heap, and after using, program must be responsible for calling corresponding function and discharge this memory block, otherwise this piece internal memory just can not be used again, and we have just said this piece memory overflow.
In some cases, the coding engineering is done very hugely, be divided into a plurality of modules, have nested between the module again, when working procedure under debugging (Debug) pattern, if there is internal memory to reveal, the information of " detect memory leak " can appear in output window so, sometimes we can find according to concrete prompting and the place that internal memory is revealed occur, as navigating to the program code place by the indication information of double-clicking debugging.In some cases, can not specifically navigate to certain row of program according to the information that the internal memory of listing is revealed, then need the programming personnel to search successively line by line, at this moment, workload is very huge.
Provided in the technology now and detected specific purpose tool such as boundschecker, the VisualLeak Detector etc. that internal memory is revealed, it is specifically designed to code detection.Above-mentioned instrument needs to install separately, can embed automatically in the toolbar of this programming software when the programming language developing instrument starts.But it is that it is many to taking of resource that the significant disadvantage of this type of software is installed usually, makes the program run of programming development get up very slow; In addition, to general developer, the function of this type of testing tool is too in loaded down with trivial details and complicated, and the general detection internal memory that only needs of user is to leak, if the computer configuration is not high, program start is just very slow.
In a word, need the urgent technical matters that solves of those skilled in the art to be exactly: how a kind of method that internal memory is revealed that detects can be provided, and detection method is quick, and is user-friendly.
Summary of the invention
Technical matters to be solved by this invention provides a kind of method and apparatus that internal memory is revealed that detects, and has improved detection efficiency, and is user-friendly.
In order to address the above problem, the invention discloses a kind of method that internal memory is revealed that detects, comprising:
From source code program to be detected, choose code module;
Front and back at described code module are added label respectively, described label application internal memory is not done internal memory discharge;
Working procedure is searched the internal memory of the correspondence of label described in the Debugging message and is revealed information;
Judge the internal memory of described label correspondence reveals whether other internal memory leakage information is arranged between the information, if then the source statement of this code module does not have internal memory to reveal; If not, the source statement of then judging this code module exists internal memory to reveal.
Preferably, described label is: character type pointer, integer pointer, single-precision floating point type pointer, double-precision floating point type pointer.
Preferably, choose each code module in the program code successively, add the detection that corresponding label carries out memory overflow.
Preferably, each code module in the source program code adds the detection that corresponding label carries out memory overflow simultaneously.
Concrete, from program code to be detected, choose code module by the type of executing the task.
In addition, the invention also discloses a kind of device that internal memory is revealed that detects, comprising:
Code is chosen the unit, is used for choosing code module from source code program to be detected;
The label adding device is used for adding label respectively in the front and back of described code module, described label application internal memory is not done internal memory discharge;
The unit is searched in prompting, is used for working procedure, searches the internal memory of the correspondence of label described in the Debugging message and reveals information;
The internal memory detecting unit is used to judge the internal memory of described label correspondence reveals whether other internal memory leakage information is arranged between the information, if then the source statement of this code module exists internal memory to reveal; If not, the source statement of then judging this code module does not have internal memory to reveal.
Preferably, described label is: character type pointer, integer pointer, single-precision floating point type pointer, double-precision floating point type pointer.
Preferably, described label adding device is chosen each code module in the program code successively, adds corresponding label;
Then described internal memory detecting unit detects each module successively.
Preferably, described label adding device adds corresponding label simultaneously at each code module in the program code;
Then described internal memory detecting unit detects each module simultaneously.
Concrete, described code is chosen the unit and is chosen code module by the type of executing the task from program code to be detected.
Compared with prior art, the present invention has the following advantages:
The present invention is by choosing code module, before and after it, add label, described label application internal memory is not done internal memory to be discharged, because this label can be located in source code program, therefore, by memory overflow information is not arranged between the information of label in the Debugging message, code module is judged.By the present invention, do not need programming personnel's searching sentence by sentence line by line in whole source code program, saved detection time, improved and searched the efficient that internal memory is revealed, owing to only need applying label, do not need to start the testing tool that comprises various sophisticated functionss, user friendly operation, taking resource when effectively having reduced the operation of various testing tools.
Further, the present invention can be simultaneously adds label to each code module, detects simultaneously, and therefore, various piece that can the whole source code program of disposable detection has improved the detection speed that internal memory is revealed.
Description of drawings
Fig. 1 is a kind of process flow diagram that detects the method embodiment of internal memory leakage of the present invention;
Fig. 2 is a kind of structural drawing that detects the device embodiment of internal memory leakage of the present invention.
Embodiment
For above-mentioned purpose of the present invention, feature and advantage can be become apparent more, the present invention is further detailed explanation below in conjunction with the drawings and specific embodiments.
Core idea of the present invention is, adds label in the front and back of code module to be detected, described label application internal memory is not made internal memory discharge.Two and described label corresponding prompt message then must appear in working procedure post debugging information, by judging the memory overflow information whether other are arranged between two informations, whether the source statement of judging this code module has internal memory to reveal user friendly searching.
With reference to Fig. 1, show a kind of process flow diagram that detects the method embodiment of internal memory leakage of the present invention, comprising:
Usually, comprised a large amount of code statements in the source code program to be detected,, applied for that internal memory does not but discharge, and then can not position this prompt statement fast in a large amount of code statements if the programming personnel writes mistake in former code statement.The embodiment of the invention is chosen a module from whole source code program, this code module is detected.
Preferably, from source code program to be detected, choose code module by the type of executing the task.
For example, in a lot cast source code program, the task of its execution comprises respectively: handle the information that receives; Preliminary work before broadcasting, broadcast information, end are broadcasted.Source code program then to be detected is as follows:
void?CMxProjectConverterDlg::Lottery(CArray?messageAry)
{
ProcessMessage (messageAry); // handle the message that receives, filter phone number
BeginPlay (); Preliminary work before the // broadcast
Play (messageAry); // broadcast
EndPlay (); // finish to broadcast
}
According to carrying out of task, whole source code program can be divided into handles code module, preparation code module, broadcast code module, end code module, four code modules.This step selects first processing code module to carry out the detection of memory overflow.
According to the module that above-mentioned steps is selected, add two labels in the front and back of handling code module.
Preferably, described label is: character type pointer, integer pointer, single-precision floating point type pointer, double-precision floating point type pointer
In an embodiment of the present invention, described label is integer pointer " int ".
As setting up " int*p1=new int " and " int*p2=new int ", then corresponding source code program becomes:
void?CMxProjectConverterDlg::Lottery(CArray?messageAry)
{
ProcessMessage(messageAry);
BeginPlay();
int*p1=new?int;
Play(messageAry);
int*p2=new?int;
EndPlay();
}
Move above-mentioned program in machine code, then corresponding, in output window, demonstrate the Debugging message of this program.Because above-mentioned steps has been applied for internal memory to p1, p2, does not have the release code statement:
" delete p1 ", and " delete p1 ";
Therefore, the internal memory that must occur two label correspondences in Debugging message is revealed information, finds described information.
The internal memory corresponding with label p1 revealed information:
“d:\mxprojecconverter\mxprojectconverter\mxprojectconverterdlgprojpro.cpp(311):{18487}normal?block?at?0x0C60B948,4?bytes?long.
Data:< >CD?CD?CD?CD”
The internal memory corresponding with label p1 revealed information:
“d:\mxprojectconverter\mxprojectconverter\mxprojectconverterdlgprojpro.cpp(287):{16164}normal?block?at?0x0806CE90,4?bytes?long.
Data:< >CD?CD?CD?CD”
In 32 operating system, apply for an integer byte of memory, this piece internal memory is not carried out releasing operation (delete), because in the 32-bit operating system, the size of integer pointer is 4 bytes, after program run finished so, then this statement certainly led to the internal memory leakage (4 bytes long) of 4 bytes.
Accordingly, if described label is character type pointer (char), the internal memory that then produces 1 byte is revealed; If described label is a single-precision floating point type pointer (float), the internal memory that then produces 4 bytes is revealed; If described label is a double-precision floating point type pointer (double), the internal memory that then produces 8 bytes is revealed.
Step 104 judges the internal memory of described label correspondence reveals whether other internal memory leakage information is arranged between the information, if then the source statement of this code module does not have internal memory to reveal; If not, the source statement of then judging this code module exists internal memory to reveal.
Owing to added two labels in the front and back of code module,, proved that then each statement is that no internal memory is revealed in this code module if there is not other reveal information information between described two the 4 byte of memory reveal information.Accordingly, whether the user does not need that internal memory searched in each statement of this code module and discharges, and has reduced workload.
Otherwise,, prove that then each statement exists internal memory to reveal in this code module if between described two the 4 byte of memory reveal information other reveal information information is arranged.For example, the Debugging message of output (Output) window is as follows:
“MxPublic.DLL?Terminating!
MxModuleRC.DLL?Terminating!
Detected?memory?leaks!
Dumping?objects->
d:\mxprojectconverter\mxprojectconverter\mxprojectconverterdlgprojpro.cpp(311):{18487}normal?block?at?0x0C60B948,4?bytes?long.
Data:< >CD?CD?CD?CD
d:\naxstormvc7\naxsystem\sys\naxitemtool\naxitemtoollnit.cpp(93):{15942}client?block?at?0x0C5850C8,subtype?c0,2688?bytes?long.
a?CNaxItemListDlg?object?at?$0C5850C8,2688?bytes?long.
{15941}normal?block?at?0x0C570F88,22?bytes?long.
Data:<C| >B8?CE?43?7C?02?00?00?00?02?00?00?00?01?00?00?00
{15940}normal?block?at?0x0C570F30,22?bytes?long.
Data:<C| >B8?CE?43?7C?02?00?00?00?02?00?00?00?01?00?00?00
{15939}normal?block?at?0x0C570ED8,22?bytes?long.
Data:<C| >B8?CE?43?7C?02?00?00?00?02?00?00?00?01?00?00?00
{15938}normal?block?at?0x0C58B1A0,22?bytes?long.
Data:<C| >B8?CE?43?7C?02?00?00?00?02?00?00?00?01?00?00?00
d:\mxprojectconverter\mxprojectconverter\mxprojectconverterdlgprojpro.cpp(287):{15940}normal?block?at?0x0806CE90,4?bytes?long.
Data:< >CD?CD?CD?CD
Object?dump?complete.”
Internal memory is not discharged in program in machine code, the internal memory in Debugging message is revealed and just is bound to occur the prompting that its internal memory is revealed in the information.Shown in above-mentioned information, reveal information at the internal memory that two 4 byte of memorys are revealed 2688 bytes and 22 bytes are arranged between (runic marks), then this code module has internal memory to reveal.Accordingly, the user only need further search in this code module.
Further, choose each code module in the program code successively, add the detection that corresponding label carries out memory overflow.
In embodiments of the present invention, choose each code module successively and detect, detect respectively as choosing " preparation code module ", " broadcast code module ", " end code module " respectively.In addition, for a code module, if its code statement that comprises is more, can also further be divided into less module according to the task of its execution, as " broadcast code module " being divided into " title broadcast code module ", " number rolling code module ", " determining the number code module " etc., detect successively at this type of small-sized code module.
The embodiment of the invention by choosing a code module, adds label before and after it, because this label can be located in source code program, therefore, by memory overflow information is not arranged between the information of label in the Debugging message, code module is judged.Then do not need programming personnel's the searching of delegation of delegation in whole source code program, saved detection time, improved and searched the efficient that internal memory is revealed, owing to only two labels need be set, do not need to start the testing tool that comprises various sophisticated functionss, user friendly operation has effectively reduced taking resource.
In a preferred embodiment of the invention, each code module in the source program code adds the detection that corresponding label carries out memory overflow simultaneously.
Because the internal memory reveal information that described label produces can be located in whole source code program, as locating by double-clicking.Then, detect the disposable scope that finds out the code statement that the internal memory leakage occurs simultaneously by simultaneously each code module being added label.For example, source code program to be detected comprises: code module A, code module B and code module C three parts, then between each module, add label, as follows:
“int*q1=new?int;
module?A;
int*q2=new?int;
module?B;
int*q3=new?int;
module?C;
int*q4=new?int;“
Wherein, distinguish the code programming statement of representative code modules A, code module B and code module C with " module A ", " module B " and " module C ".
Then behind the working procedure, must occur in the Output window revealing information at four internal memories of q1, q2, q3 and q4, if also have other memory overflow information article one and between the second information, then proving in the source statement of code module A has internal memory to reveal; If also have other memory overflow information between second and the 3rd information, then proving in the source statement of code module B has internal memory to reveal, by that analogy.
By the embodiment of the invention, can add label to each code module simultaneously, detect simultaneously, because the internal memory reveal information that label produces can be located in whole source code program, therefore, various piece that can the whole source code program of disposable detection has improved detection efficiency.
The described application internal memory of the embodiment of the invention, releasing memory are not limited to " new ", " delete " statement, can also be assigned to internal memory by " malloc " functions such as " realloc ", by calling " free " function releasing memory.
With reference to Fig. 2, show a kind of structural drawing that detects the device embodiment of internal memory leakage of the present invention, comprising:
Code is chosen unit 201, is used for choosing code module from source code program to be detected;
Internal memory detecting unit 204 is used to judge the internal memory of described label correspondence reveals whether other internal memory leakage information is arranged between the information, if then the source statement of this code module exists internal memory to reveal; If not, the source statement of then judging this code module does not have internal memory to reveal.
Preferably, described label is: character type pointer, integer pointer, single-precision floating point type pointer, double-precision floating point type pointer.
In one embodiment of the invention, described label adding device is chosen each code module in the program code successively, adds corresponding label;
Then described detecting unit detects each module successively.
In a preferred embodiment of the invention, described label adding device adds corresponding label simultaneously at each code module in the program code;
Then described detecting unit detects each module simultaneously.Once just can each module of whole source code program be detected simultaneously, improved the speed that detects.
Preferably, described code is chosen the unit and is chosen code module by the type of executing the task from program code to be detected.
Each embodiment in this instructions all adopts the mode of going forward one by one to describe, and what each embodiment stressed all is and the difference of other embodiment that identical similar part is mutually referring to getting final product between each embodiment.For device embodiment, because it is similar substantially to method embodiment, so description is fairly simple, relevant part gets final product referring to the part explanation of method embodiment.
More than to a kind of method and apparatus that internal memory is revealed that detects provided by the present invention, be described in detail, used specific case herein principle of the present invention and embodiment are set forth, the explanation of above embodiment just is used for helping to understand method of the present invention and core concept thereof; Simultaneously, for one of ordinary skill in the art, according to thought of the present invention, the part that all can change in specific embodiments and applications, in sum, this description should not be construed as limitation of the present invention.
Claims (10)
1. one kind is detected the method that internal memory is revealed, and it is characterized in that, comprising:
From source code program to be detected, choose code module;
Front and back at described code module are added label respectively, described label application internal memory is not done internal memory discharge;
Working procedure is searched the internal memory of the correspondence of label described in the Debugging message and is revealed information;
Judge the internal memory of described label correspondence reveals whether other internal memory leakage information is arranged between the information, if then the source statement of this code module does not have internal memory to reveal; If not, the source statement of then judging this code module exists internal memory to reveal.
2. method according to claim 1 is characterized in that,
Described label is: character type pointer, integer pointer, single-precision floating point type pointer, double-precision floating point type pointer.
3. method according to claim 1 is characterized in that,
Choose each code module in the program code successively, add the detection that corresponding label carries out memory overflow.
4. method according to claim 1 is characterized in that,
Each code module in the source program code adds the detection that corresponding label carries out memory overflow simultaneously.
5. method according to claim 1 is characterized in that,
From program code to be detected, choose code module by the type of executing the task.
6. one kind is detected the device that internal memory is revealed, and it is characterized in that, comprising:
Code is chosen the unit, is used for choosing code module from source code program to be detected;
The label adding device is used for adding label respectively in the front and back of described code module, described label application internal memory is not done internal memory discharge;
The unit is searched in prompting, is used for working procedure, searches the internal memory of the correspondence of label described in the Debugging message and reveals information;
The internal memory detecting unit is used to judge the internal memory of described label correspondence reveals whether other internal memory leakage information is arranged between the information, if then the source statement of this code module exists internal memory to reveal; If not, the source statement of then judging this code module does not have internal memory to reveal.
7. device according to claim 6 is characterized in that,
Described label is: character type pointer, integer pointer, single-precision floating point type pointer, double-precision floating point type pointer.
8. device according to claim 6 is characterized in that,
Described label adding device is chosen each code module in the program code successively, adds corresponding label;
Then described internal memory detecting unit detects each module successively.
9. device according to claim 6 is characterized in that,
Described label adding device adds corresponding label simultaneously at each code module in the program code;
Then described internal memory detecting unit detects each module simultaneously.
10. device according to claim 6 is characterized in that,
Described code is chosen the unit and is chosen code module by the type of executing the task from program code to be detected.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910244315.XA CN102117242B (en) | 2009-12-30 | 2009-12-30 | Method and device for detecting internal memory leakage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910244315.XA CN102117242B (en) | 2009-12-30 | 2009-12-30 | Method and device for detecting internal memory leakage |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102117242A true CN102117242A (en) | 2011-07-06 |
CN102117242B CN102117242B (en) | 2015-04-29 |
Family
ID=44216020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910244315.XA Expired - Fee Related CN102117242B (en) | 2009-12-30 | 2009-12-30 | Method and device for detecting internal memory leakage |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102117242B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716234A (en) * | 2013-12-19 | 2014-04-09 | 汉柏科技有限公司 | Message memory leak locating method |
CN106776342A (en) * | 2017-01-03 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | The method and apparatus that a kind of memory object to Mobile solution is analyzed |
CN108090364A (en) * | 2017-11-29 | 2018-05-29 | 链家网(北京)科技有限公司 | A kind of localization method and system in data leak source |
CN109829298A (en) * | 2018-11-26 | 2019-05-31 | 努比亚技术有限公司 | RAM leakage risk checking method, terminal and computer readable storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162436A (en) * | 2006-10-13 | 2008-04-16 | 中兴通讯股份有限公司 | Ems memory leakage testing method in communication apparatus system |
-
2009
- 2009-12-30 CN CN200910244315.XA patent/CN102117242B/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162436A (en) * | 2006-10-13 | 2008-04-16 | 中兴通讯股份有限公司 | Ems memory leakage testing method in communication apparatus system |
Non-Patent Citations (2)
Title |
---|
张威等: "基于指针分析的内存泄漏故障测试方法研究", 《计算机应用研究》 * |
高海昌等: "Linux平台下基于源代码插桩的动态内存检测", 《小型微型计算机系统》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716234A (en) * | 2013-12-19 | 2014-04-09 | 汉柏科技有限公司 | Message memory leak locating method |
CN106776342A (en) * | 2017-01-03 | 2017-05-31 | 百度在线网络技术(北京)有限公司 | The method and apparatus that a kind of memory object to Mobile solution is analyzed |
CN108090364A (en) * | 2017-11-29 | 2018-05-29 | 链家网(北京)科技有限公司 | A kind of localization method and system in data leak source |
CN108090364B (en) * | 2017-11-29 | 2020-05-08 | 贝壳找房(北京)科技有限公司 | Method and system for positioning data leakage source |
CN109829298A (en) * | 2018-11-26 | 2019-05-31 | 努比亚技术有限公司 | RAM leakage risk checking method, terminal and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN102117242B (en) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6067641A (en) | Demand-based generation of symbolic information | |
US9459991B2 (en) | Heap dump object identification in a heap dump analysis tool | |
CN101339533B (en) | Method and device for diagnosing Java system EMS memory leakage based on partition | |
CN100504807C (en) | EMS memory leakage testing method in communication apparatus system | |
US7269718B2 (en) | Method and apparatus for verifying data types to be used for instructions and casting data types if needed | |
US10387296B2 (en) | Methods and systems to identify and reproduce concurrency violations in multi-threaded programs using expressions | |
US20050257092A1 (en) | Method and apparatus for identifying access states for variables | |
JP2010238228A (en) | Method and device for dynamically analyzing program | |
CN102117242B (en) | Method and device for detecting internal memory leakage | |
CN101819549B (en) | Method and device for positioning memory leakage | |
CN108021791A (en) | Data guard method and device | |
Song et al. | Fine-grained library customization | |
Seo et al. | A profiling method by PCB hooking and its application for memory fault detection in embedded system operational test | |
US7328374B2 (en) | Method and apparatus for implementing assertions in hardware | |
CN109582542B (en) | Method for dumping core of embedded system | |
CN102736974A (en) | Program debugging system and method | |
Erickson | Memory leak detection in embedded systems | |
US20140189656A1 (en) | Flow Analysis in Program Execution | |
CN103810087A (en) | Method and device for testing performance of application program | |
CN107590013B (en) | Efficient method for detecting leakage of Android application Service component | |
CN115964237A (en) | Method and device for testing functions and performance of Central Processing Unit (CPU) | |
US20090172368A1 (en) | Hardware Based Runtime Error Detection | |
US8346821B2 (en) | Orphan object tracking for objects having acquire-release semantics | |
CN115840707A (en) | Flash test method, device and medium | |
CN110096888B (en) | Method and system for accelerating verification and analyzing SMM potential safety hazard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150429 Termination date: 20161230 |