CN106648549A - Processing method and system for thread stack - Google Patents
Processing method and system for thread stack Download PDFInfo
- Publication number
- CN106648549A CN106648549A CN201710001925.1A CN201710001925A CN106648549A CN 106648549 A CN106648549 A CN 106648549A CN 201710001925 A CN201710001925 A CN 201710001925A CN 106648549 A CN106648549 A CN 106648549A
- Authority
- CN
- China
- Prior art keywords
- stack
- thread
- initial
- protection zone
- magic number
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 230000006870 function Effects 0.000 claims abstract description 135
- 238000000034 method Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000007599 discharging Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000000452 restraining effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101710092887 Integrator complex subunit 4 Proteins 0.000 description 3
- 102100037075 Proto-oncogene Wnt-3 Human genes 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 235000015096 spirit Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
The invention provides a processing method and system for a thread stack. The processing method comprises the following steps: acquiring function data corresponding to an invoking function according to the invoking function invoked by a thread; writing the function data into the thread stack, and acquiring a stack top address of the function data in the thread stack when the thread stack is written; judging whether the stack top address is located in a stack protecting region of the thread stack or not; and if so, expanding the memory space of the thread stack, and resetting the stack protecting region of the thread stack in the expanded memory space of the thread stack according to the size of the memory space of the stack protecting region, wherein the stack top address is located out of the reset stack protecting region. The using condition of the function data on the thread stack is effectively monitored in real time by acquiring the stack top address of the function data in the thread stack, and the stack protecting region is arranged in the thread stack to prevent the thread stack from overflowing.
Description
Technical field
The present invention relates to the threading field of computer, the processing method and system of more particularly to a kind of thread stack.
Background technology
Threading is the core technology of concurrent processing business in computer software fields, itself and CPU (Central
Processing Unit, central processing unit) hardware direct correlation, and all threadings realize that principle is consistent.And safeguard line
Journey stack internal memory is again one of core point of threading, in the realization of POSIX Thread (multi-thread programming), thread stack
The usual default setting of memory headroom size is set to a size for being not easy to overflow by user oneself, once but it is set
After do not allow for being changed again.Under normal circumstances, the memory headroom size of thread stack need not be very big, disclosure satisfy that general letter
Number calls the normal operation that can just meet program threads, but if when calling than larger function, such as:Calling main letters
Use will the Insufficient memory of thread stack during number (principal function), if now can not be very difficult for this to happen in time, meeting
Directly result in computer to delay machine.
The content of the invention
Based on this, it is necessary to for the problem of tradition Insufficient memory of thread stack when larger function is called,
The processing method and system of a kind of thread stack that can be prevented effectively from thread stack overflow are provided.
To reach goal of the invention, there is provided a kind of processing method of thread stack, the treating method comprises:
The corresponding function data of the call function is obtained according to the call function of thread dispatching;
The function data is write into thread stack, and obtains the function data when the thread stack is write in the line
Stack top address in journey stack;
Judge whether the stack top address is located within the stack protection zone of the thread stack;
If the stack top address is located in the stack protection zone, the memory headroom of the thread stack is extended, and expanded
The stack of the thread stack is reset in the memory headroom of the thread stack after exhibition according to the memory headroom size of the stack protection zone
Protection zone, makes the stack top address be located at outside the stack protection zone reseted.
Wherein in one embodiment, it is described judge the stack top address whether be located at the thread stack stack protection zone it
Interior step includes:
Acquisition is arranged on the initial magic number data in the stack protection zone, and by described in the initial magic number extracting data
The magic number side-play amount and magic number of initial evil spirit number data takes up room;
The magic number starting of the initial magic number data is determined according to the thread stack termination address and the magic number side-play amount
Address, and the magic number termination for determining the initial magic number data is taken up room according to the magic number initial address and the magic number
Location, wherein, the magic number initial address and the magic number that the interval that the magic number termination address is defined is the initial magic number data
Used area;
When the function data writes the thread stack, the current data in the magic number used area is obtained;
The current data is compared with the initial magic number data, and in the current data and the initial evil spirit
When number data are inconsistent, determine that the stack top address is located in the stack protection zone.
Wherein in one embodiment, include the step of the memory headroom of the extension thread stack:
The memory headroom of the thread stack is expanded to by the current memory according to the current memory space of the thread stack
The preset multiple in space, new memory headroom of the memory headroom after extension as the thread stack.
Wherein in one embodiment, when the initial magic number data are multiple, each described initial magic number data correspondence
When having different magic number side-play amounts;Internal memory in the memory headroom of the thread stack after expansion according to the stack protection zone is empty
Between size reset the stack protection zone of the thread stack, the step of the stack top address is located at outside the stack protection zone reseted
Including:
Maximum evil spirit number side-play amount is obtained from the corresponding magic number side-play amount of multiple initial magic number data, and according to described
Maximum evil spirit number side-play amount and the magic number take up room and determine the memory headroom size of the stack protection zone;
The stack is reseted in the new memory headroom of the thread stack according to the memory headroom size of the stack protection zone to protect
The initial address and termination address in shield area, and using the initial address of the stack protection zone reseted as new stack protection zone starting
Address, using the termination address of the stack protection zone reseted as new thread stack termination address;
Judge whether the stack top address of the function data in the thread stack is located at the stack protection reseted
In area, and return when the stack top address is located in the stack protection zone reseted described according to initial memory space general
The step of memory headroom of the thread stack expands to the preset multiple in the initial memory space, until by the function data
All the stack top address of the function data is located at outside the stack protection zone reseted after the write thread stack.
Wherein in one embodiment, the memory headroom size according to the stack protection zone is in the new of the thread stack
Reset the initial address and termination address of the stack protection zone in memory headroom, and by the starting point of the stack protection zone reseted
Location as new stack protection zone initial address, using the termination address of the stack protection zone reseted as new thread stack termination address
After step, also include:
The new stack protection zone initial address and the new thread stack termination address are stored in into corresponding storage single
In unit, and
Taken up room in the stack protection reseted according to the described magic number side-play amount and the magic number of initial magic number data
New magic number data are set in area.
Wherein in one embodiment, the initial memory space for extending the thread stack, and protected according to the stack
The memory headroom size in area resets the stack protection zone of the thread stack, makes the stack top address be located at the stack protection zone reseted
Outside the step of after, also include:
Judge whether the call function terminates, and after the call function terminates, deletion is written to the thread stack
In the function data;
The memory headroom of the thread stack extension is discharged, retains the initial memory space of the thread stack;
By the corresponding stack protection zone initial address in the initial memory space and the thread stack of the thread stack
Termination address is re-write in corresponding memory cell.
The present invention also provides a kind of processing system of thread stack, and the processing system includes:
Function data acquisition module, for obtaining the corresponding function of the call function according to the call function of thread dispatching
Data;
Stack top address acquisition module, is writing for the function data being write into thread stack, and obtaining the function data
Stack top address when entering the thread stack in the thread stack;
First judge module, for judging whether the stack top address is located within the stack protection zone of the thread stack;
Module is reseted in extension, if be located in the stack protection zone for the stack top address, extends the thread stack
Memory headroom, and set again according to the memory headroom size of the stack protection zone in the memory headroom of thread stack after expansion
The stack protection zone of the thread stack is put, the stack top address is located at outside the stack protection zone reseted.
Wherein in one embodiment, first judge module includes:
Extraction unit, for obtaining the initial magic number data being arranged in the stack protection zone, and by the initial magic number
The magic number side-play amount and magic number of initial evil spirit number data described in extracting data takes up room;
First determining unit, for determining the initial evil spirit according to the thread stack termination address and the magic number side-play amount
The magic number initial address of number data, and taken up room the determination initial magic number according to the magic number initial address and the magic number
The magic number termination address of data, wherein, the magic number initial address is described first with the interval that the magic number termination address is defined
The magic number used area of the magic number data that begin;
Acquiring unit, for after the function data is written to the thread stack, in obtaining the magic number used area
Current data;
Comparing unit, for the current data to be compared with the initial magic number data, and in the current number
According to it is inconsistent with the initial magic number data when, determine that the stack top address is located in the stack protection zone.
Wherein in one embodiment, module is reseted in the extension to be included:
Expanding element, expands to the memory headroom of the thread stack for the current memory space according to the thread stack
The preset multiple in the current memory space, new memory headroom of the memory headroom after extension as the thread stack.
Wherein in one embodiment, when the initial magic number data are multiple, each described initial magic number data correspondence
When having different magic number side-play amounts, module is reseted in the extension also to be included:
Second determining unit, for obtaining maximum evil spirit number from the corresponding magic number side-play amount of multiple initial magic number data
Side-play amount, and take up room and determine that the memory headroom of the stack protection zone is big according to the maximum evil spirit number side-play amount and the magic number
It is little;
Reset unit, for according to the memory headroom size of the stack protection zone in the new memory headroom of the thread stack
Reset the initial address and termination address of the stack protection zone, and using the initial address of the stack protection zone reseted as new
Stack protection zone initial address, using the termination address of the stack protection zone reseted as new thread stack termination address;
Judging unit, for judging it is described whether the stack top address of the function data in the thread stack is located at
In the stack protection zone reseted, and the expanding element is returned when the stack top address is located in the stack protection zone reseted,
Until the stack top address of the function data after the function data all the write thread stack is located at into described reseting
Stack protection zone outside.
Wherein in one embodiment, module is reseted in the extension also to be included:
Storage unit, for the memory headroom size according to the stack protection zone the thread stack new memory headroom
In reset after the initial address and termination address of the stack protection zone, by the new stack protection zone initial address and described new
Thread stack termination address be stored in corresponding memory cell;And
Setting unit, takes up room described for the described magic number side-play amount and the magic number according to initial evil spirit number data
New magic number data are set in the stack protection zone reseted.
Wherein in one embodiment, the processing system also includes:
Second judge module, in the initial memory space for extending the thread stack, and according to the stack protection zone
Memory headroom size resets the stack protection zone of the thread stack, the stack top address is located at outside the stack protection zone reseted
Afterwards, judge whether the call function terminates, and after the call function terminates, deletion is written to the institute in the thread stack
State function data;
Release reservation module, for discharging the memory headroom of the thread stack extension, retains the initial interior of the thread stack
Deposit space;
Rewriting module, for by the corresponding stack protection zone initial address in the initial memory space of the thread stack
Re-write in corresponding memory cell with the thread stack termination address.
Beneficial effects of the present invention include:
The processing method and system of above-mentioned thread stack, by the corresponding function data of acquisition call function in thread stack
Stack top address monitoring service condition of the function data to thread stack effectively in real time, by arranging stack protection in thread stack
Area, and when function data is located in stack protection zone in the stack top address in thread stack, judge the current memory space of thread stack
Will use, so as to extend the memory headroom of thread stack in time, so that stack top address is always positioned within stack place of safety, keep away
Exempt from the phenomenon that function data overflows thread stack.
Description of the drawings
Fig. 1 is the distribution schematic diagram of the thread stack for being provided with stack protection zone in one embodiment;
Fig. 2 is the schematic flow sheet of the processing method of the thread stack in one embodiment;
Fig. 3 is the schematic flow sheet of step S300 in the embodiment illustrated in fig. 2 in an embodiment;
Fig. 4 is the schematic flow sheet of step S400 in the embodiment illustrated in fig. 2 in one embodiment;
Fig. 5 is the schematic flow sheet of the processing method of the thread stack in another embodiment;
Fig. 6 is the structural representation of the processing system of the thread stack in one embodiment.
Specific embodiment
In order that the objects, technical solutions and advantages of the present invention become more apparent, below in conjunction with drawings and Examples pair
The processing method and system of thread stack of the present invention is further elaborated.It should be appreciated that described herein be embodied as
Example is not intended to limit the present invention only to explain the present invention.
In one embodiment, as shown in Figure 1 and Figure 2, there is provided a kind of processing method of thread stack, the method include with
Lower step:
S100, according to the call function of thread dispatching the corresponding function data of call function is obtained.
S200, by function data thread stack is write, and obtains stack of the function data when thread stack is write in thread stack
Top address.
S300, judges whether stack top address is located within the stack protection zone of thread stack.
S400, if stack top address is located at the memory headroom that thread stack is extended in stack protection zone, and line after expansion
The stack protection zone of thread stack is reset in the memory headroom of journey stack according to the memory headroom size of stack protection zone, stack top address is made
Outside the stack protection zone reseted.
In the present embodiment, after thread dispatching function, the corresponding function data of the call function that can be called is written to
In the corresponding thread stack of the thread, i.e., apply for certain memory space in thread stack for storage function data, and thread stack
It is a kind of limited linear list of computing, as shown in figure 1, the characteristics of it has first-in last-out, i.e. its restriction are only allowed in the one of table
Computing is inserted and deleted at end, and this one end is referred to as stack top, relatively, the other end is called stack bottom, and thread stack entirety is interior
Deposit space to be defined by thread stack initial address (stack bottom address) and thread stack termination address (stack base address), when call function correspondence
Function data thread stack one end write when, the function data thread stack write end most top position be stack top ground
Location, stack top address is that dynamic change, i.e. stack top address are real-time with the write of function data with the operation of program
Change, so behind the stack top address for obtaining thread stack, just may know that real-time service condition of the function data to thread stack.
Stack restraining line is set in the thread stack so as to thread stack is divided into into stack protection zone and stack place of safety.In one embodiment, will
Thread stack is divided into stack protection zone and stack place of safety by arranging magic number data in thread stack to realize, magic number data are
Kernel oneself definition, it is not easy to duplicate just as password, stack protection zone by magic number data magic number side-play amount and
The magic number of its own takes up room to determine, after stack protection zone is determined first, the memory headroom size of stack protection zone will not
Can change, i.e., after the memory headroom of subsequent expansion thread stack, and the stack reseted in the new memory headroom of thread stack is protected
The memory headroom size in shield area is in the same size with the memory headroom of the stack protection zone for arranging first.
The characteristics of having first-in last-out due to thread stack, after function data is write into thread stack, just can obtain the letter
Whether stack top address in number online data journey stack, then judge the stack top address beyond stack place of safety, i.e. stack top address is
It is no in stack protection zone, if stack top address is located at stack protection zone, the memory headroom for illustrating the thread stack will be used
It is complete, now in order to avoid the phenomenon that data overflow thread stack, the memory headroom for extending the thread stack is needed, and by after extension
Space is deposited as the new memory headroom of the thread stack, stack protection zone is reset in the new memory headroom of the thread stack, the stack
The setting of protection zone is arranged according to the memory headroom size of the stack protection zone for arranging first, that is, the internal memory of the stack protection zone reseted
Space size is identical with the memory headroom size of original stack protection zone, so that stack top address is located at the stack protection zone reseted
Outside.Herein it should be noted that when function data exceeds the thread stack termination address of thread stack, there will be no stack top address,
So, stack top address herein is located at outside the stack protection zone reseted the stack for referring to the thread stack that stack top address is located at after extension
Be not in that thread stack overflows so as to can also meet demand of the data to thread stack when calling than larger function in place of safety
Situation about going out, program can continue to normal execution and go down, and effectively prevent the machine of delaying of computer.
The processing method of the thread stack in the present embodiment, by the corresponding function data of acquisition call function in thread stack
Stack top address monitoring service condition of the function data to thread stack effectively in real time, by arranging stack protection in thread stack
Area, and when function data is located in stack protection zone in the stack top address in thread stack, judge the current memory space of thread stack
Will use, so as to extend the memory headroom of thread stack in time, so that stack top address is always positioned within stack place of safety, keep away
Exempt from the phenomenon that function data overflows thread stack.
It should be noted that the call function in the embodiment is for calling principal function, general principal function is corresponding
Function data now needs to judge whether thread stack is enough than larger.Wherein, stack protection zone be by stack protection zone initial address and
The memory headroom that thread stack termination address is defined, stack protection zone initial address is located at thread stack initial address and thread stack terminates ground
Between location.Generally, the memory headroom of the memory headroom less than thread stack of stack protection zone is set, it is preferable that the internal memory of stack protection zone
Half of the space less than the memory headroom of thread stack.The wasting of resources of thread stack memory headroom will be caused in excessive stack protection zone,
And too small stack protection zone then can not play a part of very well to prevent thread stack overflow, therefore, it is not very big interior generally to arrange
Space is deposited, for example:The space internal memory of 200 bytes, is used as the memory headroom of stack protection zone.
In one embodiment, the processing method of thread stack also includes step S400 ', if stack top address is not at stack
In protection zone, then function data is continued to write in thread stack.When stack top address is not in stack protection zone, show stack top
When address is located at stack place of safety, then the memory headroom that judging thread stack still has abundance is used for function data, now call function
Continue executing with, i.e. the corresponding function data of the call function continues to write to thread stack.
In one embodiment, referring to Fig. 3, step S300 includes:
S310, acquisition is arranged on the initial magic number data in stack protection zone, and initially magic by initial magic number extracting data
The magic number side-play amount of number data and magic number take up room.
S320, according to thread stack termination address and magic number side-play amount the magic number initial address of initial evil spirit number data is determined, and
Taken up room according to magic number initial address and magic number and determine the magic number termination address of initial evil spirit number data.Wherein, magic number starting point
Location and the magic number used area that the interval that the magic number termination address is defined is the initial magic number data.
S330, when function data is written to the thread stack, obtains the current data in magic number used area.
S340, current data is compared with initial magic number data, and is differed with initial magic number data in current data
During cause, determine that stack top address is located in stack protection zone.
To judge whether stack top address is located at a specific embodiment of stack protection zone in above-described embodiment, in thread stack
It is that some bytes of the memory headroom in thread stack near thread stack termination address are used into magic number number during middle setting stack protection zone
Initialize according to (magic number), if in the case of magic number data only one of which, the position that the magic number data are located is just
Position that stack restraining line is located, if magic number data have it is multiple in the case of, deviate thread stack termination address highest distance position
The position that magic number data (i.e. the maximum magic number data of side-play amount) are located is the position that stack restraining line is located.Stack protection is obtained first
Initial magic number data in area, and taken up room by these initial evil spirit number extracting data evil spirit number side-play amounts and magic number, by thread
The magic number side-play amount of stack termination address and each initial evil spirit number data determines the magic number initial address of each initial evil spirit number data, then
Taken up room by magic number initial address and magic number and determine the magic number termination address of each initial evil spirit number data, each initial evil spirit number number
Defined by the magic number initial address of the initial magic number data and magic number termination address according to the memory headroom being located, referred to herein as magic number
Used area, when function data writes thread stack, obtains the current data in these magic number used areas, judges current data and first
Whether the magic number data that begin are consistent, if unanimously, illustrate that function data is not also written at the position that initial evil spirit number data are located,
That is stacking protection zone is not also entered in stack top address of the function data in thread stack, and now thread stack also has sufficient memory headroom to supply
Function data writes, if it is inconsistent, explanation function data is had been written at the position that initial evil spirit number data are located, i.e. function
Stack top address in online data journey stack has been enter into stack protection zone, and now thread stack will run out, and needs to extend thread stack
Initial memory space, so that the memory headroom that thread stack has abundance is used for function data.
It should be noted that when function data is written to the magic number used area that initial evil spirit number data are located, function data
By initial evil spirit number data cover, so that the data in the magic number used area change.
Preferably, in one embodiment, initial evil spirit number data are multiple, and each initial evil spirit number data is different to having
Magic number side-play amount, though multiple initial magic number data respectively positioned at the diverse location of stack protection zone, so equivalent to protecting in stack
Shield is provided with multiple tracks stack restraining line in area so that in the case where first stack restraining line is failed, second stack restraining line ...
N roads stack restraining line also can work, so as to the situation for further preventing thread stack overflow occurs.Further, at the beginning of each
The magic number of the magic number data that begin takes up room identical, is easy to identification.Certainly, each initial taking up room for evil spirit number data also can not phase
Together.In one embodiment, four bytes of occupancy of each initial evil spirit number data.
For example:In a specific embodiment, initial evil spirit number data include the first initial evil spirit number data STACK_
MAGIC1, the second initial evil spirit number data STACK_MAGIC2 and the 3rd initial evil spirit number data STACK_MAGIC3, three initial evil spirits
Number data definition is as follows:
#define STACK_MAGIC1 0XEACD1532
#define STACK_MAGIC2 0XD3C56234
#define STACK_MAGIC3 0XF31AB123
Further, side-play amount (STACK_MAGIC1_OFFSET, STACK_MAGIC2_ of three initial evil spirit number data
OFFSET, STACK_MAGIC3_OFFSET) it is defined as follows:
#define STACK_MAGIC1_OFFSET 4*SIZEOF(INT4)
#define STACK_MAGIC2_OFFSET 15*SIZEOF(INT4)
#define STACK_MAGIC3_OFFSET 55*SIZEOF(INT4)
The concrete data of the i.e. first initial evil spirit number data are " 0XEACD1532 ", the concrete data of the second initial evil spirit number data
For " 0XD3C56234 ", the 3rd initial evil spirit number data are " 0XF31AB123 ", and above-mentioned initial magic number data are represented with 16 systems,
Each initial evil spirit number data takes 4 bytes, i.e., 32.Wherein, first initial evil spirit number 16 bytes of data-bias, second is initial
60 bytes of magic number data-bias, the 3rd initial evil spirit number 220 bytes of data-bias.3rd initial evil spirit number data are apart from thread stack
Termination address is farthest, and its magic number side-play amount is 220 bytes, and its magic number takes up room as 4 bytes, so that it is determined that stack protection zone
Size be 220+4=224 byte.
In one embodiment, referring to Fig. 4, step S400 includes:
S410, the pre- of current memory space is expanded to according to the current memory space of thread stack by the memory headroom of thread stack
If multiple, new memory headroom of the memory headroom after extension as thread stack.
Above-mentioned steps are a kind of specific embodiment of thread stack memory headroom extension, and this embodiment is relatively easy to reality
Apply, only one section of continuous new memory headroom need to be applied in internal memory according to the size in the current memory space of thread stack, this is new
Memory headroom is the preset multiple in the current memory space of thread stack, then copies current memory space to new memory headroom
In, so as to realize the extension of thread stack memory headroom.Preferably, the new memory headroom of thread stack is the two of current memory space
Times, so can realize avoiding the spilling of thread stack, it is avoided that the excessive memory headroom of application causes the waste of resource again.Another
In outer one embodiment, when the memory headroom of thread stack is extended, expanded also dependent on the initial memory space of the thread stack
Exhibition, for example:When first time determination stack top address is located in stack protection zone, the memory headroom of thread stack is expanded to into initial memory
The twice in space, when second determination stack top address is located in the stack protection zone reseted, the memory headroom of thread stack is extended
For three times of initial memory space, by that analogy, to meet demand of the thread to thread stack, it is to avoid the spilling of thread stack.
In one embodiment, when initial evil spirit number data are multiple, step S400 also includes:
S420, from the corresponding magic number side-play amount of multiple initial magic number data maximum evil spirit number side-play amount is obtained, and according to most
Big evil spirit number side-play amount and the magic number take up room and determine the memory headroom size of stack protection zone.
Above-mentioned steps S420 are multiple situations for initial evil spirit number data, maximum according to side-play amount in multiple initial magic number data
Initial magic number data magic number side-play amount and its magic number take up room and determine the memory headroom size of stack protection zone.Normal conditions
Under, the magic number of each initial evil spirit number data take up room it is identical, so obtaining maximum initial of side-play amount without the need for going specially
The magic number of magic number data takes up room.In the case where initial evil spirit number data are only one, only the initial magic number data need to be obtained
Magic number side-play amount and magic number take up room and the memory headroom size of stack protection zone be just obtained.
S430, according to the memory headroom size of stack protection zone rising for stack protection zone is reseted in the new memory headroom of thread stack
Beginning address and termination address, and the initial address of the stack protection zone reseted will be reseted as new stack protection zone initial address
Stack protection zone termination address as new thread stack termination address.
After the new memory headroom for obtaining thread stack, the new thread stack initial address and new line of the thread stack is just understood
Journey stack termination address, and it is determined that after the memory headroom size of stack protection zone, starting to thread from new thread stack termination address
As the initial address of the stack protection zone reseted, i.e., new stack at position after the memory headroom size of stack bias internal stack protection zone
Protection zone initial address (stack restraining line), and new thread stack termination address is the termination address of the stack protection zone after reseting.
Whether S440, the stack top address in discriminant function online data journey stack is located in the stack protection zone reseted, and in stack
Top address is located at return to step S410 when in the stack protection zone reseted, until function data all to be write function number after thread stack
According to stack top address be located at outside the stack protection zone reseted.
After the memory headroom of extension thread stack obtains the stack protection zone that the new memory headroom of thread stack and obtaining is reseted, letter
Number data may proceed to be write in the new memory headroom of thread stack, now continue the stack top ground in discriminant function online data journey stack
Whether location is located in the stack protection zone reseted, if stack top address is fallen into again in stack protection zone, thread stack is extended again
Stack protection zone, i.e. return to step S410, until function data all writes in thread stack, and are still located at the stack safety of thread stack
In area, so as to effectively prevent spilling of the function data in thread stack.
In one embodiment, after step S430, also include:
S430a, by new stack protection zone initial address and new thread stack termination address corresponding memory cell is stored in
In.
New stack protection zone initial address and new thread stack termination address are stored in corresponding memory cell, are easy to
Judge whether stack top address is located at stack protection zone and facilitates the setting of new stack protection zone when extending thread stack again.In a reality
In applying example, new stack protection zone initial address and new thread stack termination address are replaced preserve in the memory unit original
Corresponding address information, to avoid the waste of resource.Preferably, memory cell is the register of CPU.
S430b, according in the stack protection zone that the magic number side-play amount and magic number of initial magic number data take up room after the reset
New magic number data are set.
After having reset stack protection zone in the new memory headroom of thread stack, in order to reach multi-ensuring thread stack is prevented
The effect of spilling, needs arrange multiple magic number data in the stack protection zone reseted, it is preferable that set in the stack protection zone reseted
The multiple magic number data put and the magic number side-play amount of initial magic number data and magic number take up room it is identical, so as to realize and thread stack
Initial memory space identical multi-ensuring effect, and so also cause the setting of new magic number data to become simple.When
So, when new magic number data being set in the stack protection zone reseted, it is also possible to which the magic number side-play amount with initial magic number data is set
Take up room the new magic number data for differing with magic number.The magic number side-play amount of generally initial evil spirit number data is a kind of optimum reality
Mode is applied, for example:First initial evil spirit number data-bias thread stack termination address is relatively near, the second initial evil spirit number data-bias thread stack
Termination address is slightly remote, the 3rd initial evil spirit number data-bias thread stack termination address farthest, apart from thread stack termination address compared with
More magic number data are set near position, therefore new magic number data are set with initial magic number data identical evil spirit number skew
Amount and magic number take up room, and can well ensure that thread stack will not overflow.
It should be noted that above-mentioned steps S430a and step S430b are only to facilitate explanation, between two steps simultaneously
There is no sequencing.
In one embodiment, referring to Fig. 5, after step S400, the processing method of thread stack also includes:
S500, judges whether call function terminates, and after call function terminates, deletion is written to the function in thread stack
Data.
S600, discharges the memory headroom of thread stack extension, retains the initial memory space of thread stack.
S700, by the corresponding stack protection zone initial address in the initial memory space of thread stack and thread stack termination address again
In writing corresponding memory cell.
After call function terminates, first, deletion is written to the function data in thread stack, reduces to thread stack memory headroom
Occupancy.Then, the memory headroom extended in thread stack is discharged, only retains the initial memory space in thread stack, so that line
Journey stack can reduce thread stack in the physical memory space of computer in whole process as not changing, so
Take, so as to realize meeting in extreme circumstances while thread stack demand, reduce the occupancy to computer physical memory space,
Improve the treatment effeciency of central processing unit (CPU).Step S700 be according to specific circumstances depending on, if reset stack protection
The initial address and new thread stack termination address in area (new stack protection zone) is not to replace to preserve in the memory unit original
Corresponding address information, and be only stored in memory cell, then only need to be by new stack protection zone initial address and new line
Journey stack termination address is deleted from memory cell, if the mode for replacing, then by the initial memory space pair of thread stack
The stack protection zone initial address and thread stack termination address answered is re-write in corresponding memory cell.In whole implementation process
In, thread stack initial address can be defaulted as constant.
One of ordinary skill in the art will appreciate that realizing all or part of flow process in above-described embodiment method, can be
Related hardware is instructed to complete by computer program, described program can be stored in a computer read/write memory medium
In, the program is upon execution, it may include such as the flow process of the embodiment of above-mentioned each method.Wherein, described storage medium can be magnetic
Dish, CD, read-only memory (Read-Only Memory, ROM) or random access memory (Random Access
Memory, RAM) etc..
In one embodiment, as shown in fig. 6, additionally providing a kind of processing system of thread stack, the system includes:Function
Data acquisition module 100, for obtaining the corresponding function data of the call function according to the call function of thread dispatching.Stack top
Address acquisition module 200, for function data to be write into thread stack, and obtains function data when thread stack is write in thread stack
In stack top address.First judge module 300, for judge stack top address whether be located at the thread stack stack protection zone it
It is interior.Module 400 is reseted in extension, if the memory headroom that thread stack is extended in stack protection zone is located at for stack top address, and
The stack protection zone of thread stack is reset in the memory headroom of the thread stack after extension according to the memory headroom size of stack protection zone,
Stack top address is set to be located at outside the stack protection zone reseted.
The processing system of the thread stack in the present embodiment, by the corresponding function data of acquisition call function in thread stack
Stack top address monitoring service condition of the function data to thread stack effectively in real time, by arranging stack protection in thread stack
Area, and when function data is located in stack protection zone in the stack top address in thread stack, judge the current memory space of thread stack
Will use, so as to extend the memory headroom of thread stack in time, so that stack top address is always positioned within stack place of safety, keep away
Exempt from the phenomenon that function data overflows thread stack.
Wherein, stack protection zone is the internal memory sky defined by stack protection zone initial address and the thread stack termination address
Between, stack protection zone initial address is located between thread stack initial address and thread stack termination address.
In one embodiment, the first judge module 300 includes:Extraction unit 310, for obtaining stack protection zone is arranged on
Interior initial magic number data, and the magic number side-play amount of initial evil spirit number data and magic number occupancy by described in initial magic number extracting data
Space;First determining unit 320, for determining the magic number of initial evil spirit number data according to thread stack termination address and magic number side-play amount
Initial address, and the magic number termination for determining the initial magic number data is taken up room according to magic number initial address and the magic number
Location, wherein, the interval that magic number initial address is defined with the magic number termination address is the magic number used area of initial evil spirit number data;Obtain
Unit 330 is taken, for after the function data is written to thread stack, obtaining the current data in the magic number used area;With
And comparing unit 340, for current data to be compared with initial magic number data, and in current data and initial magic number data
When inconsistent, determine that stack top address is located in the stack protection zone.
In one embodiment, module 400 is reseted in extension includes:Expanding element 410, for according to thread stack it is current in
The preset multiple that the memory headroom of thread stack is expanded to current memory space in space is deposited, the memory headroom after extension is used as thread
The new memory headroom of stack.
In one embodiment, when initial evil spirit number data are multiple, each initial evil spirit number data is to there is different magic numbers
During side-play amount, module 400 is reseted in extension also to be included:Second determining unit 420, for from the corresponding evil spirit of multiple initial magic number data
Maximum evil spirit number side-play amount is obtained in number side-play amount, and is taken up room and is determined stack protection zone according to maximum evil spirit number side-play amount and magic number
Memory headroom size;Unit 430 is reseted, for empty in the new internal memory of thread stack according to the memory headroom size of the stack protection zone
Between in reset the initial address and termination address of stack protection zone, and protect the initial address of the stack protection zone reseted as new stack
Shield area's initial address, using the termination address of the stack protection zone reseted as new thread stack termination address;And judging unit
440, whether the stack top address for discriminant function data in the thread stack is located in the stack protection zone reseted,
And the expanding element 410 is returned when the stack top address is located in the stack protection zone reseted, until by function data whole
The stack top address of function data is located at outside the stack protection zone reseted after write thread stack.
In one embodiment, module 400 is reseted in extension also includes:Storage unit 430a, for according to stack protection zone
Memory headroom size reset in the new memory headroom of thread stack after the initial address and termination address of stack protection zone, will be new
Stack protection zone initial address and new thread stack termination address be stored in corresponding memory cell;And setting unit
430b, takes up room and arranges new in the stack protection zone reseted for the magic number side-play amount and magic number according to initial evil spirit number data
Magic number data.
In one embodiment, system also includes:Second judge module 500, for extending the initial of the thread stack
Memory headroom, and the stack protection zone of the thread stack is reset according to the memory headroom size of the stack protection zone, make stack top
After address is located at outside the stack protection zone reseted, judge whether the call function terminates, and after the call function terminates,
Deletion is written to the function data in the thread stack;Release reservation module 600, for discharging the internal memory of thread stack extension
Space, retains the initial memory space of thread stack;And rewriting module 700, for the initial memory space of thread stack is corresponding
Stack protection zone initial address and thread stack termination address re-write in corresponding memory cell.
Due to the principle of this system solve problem it is similar to a kind of aforementioned processing method of thread stack, therefore the reality of the system
The enforcement that may refer to preceding method is applied, is repeated part and is repeated no more.
Each technical characteristic of embodiment described above can be combined arbitrarily, to make description succinct, not to above-mentioned reality
Apply all possible combination of each technical characteristic in example to be all described, as long as however, the combination of these technical characteristics is not deposited
In contradiction, the scope of this specification record is all considered to be.
Embodiment described above only expresses the several embodiments of the present invention, and its description is more concrete and detailed, but and
Can not therefore be construed as limiting the scope of the patent.It should be pointed out that for one of ordinary skill in the art comes
Say, without departing from the inventive concept of the premise, some deformations and improvement can also be made, these belong to the protection of the present invention
Scope.Therefore, the protection domain of patent of the present invention should be defined by claims.
Claims (12)
1. a kind of processing method of thread stack, it is characterised in that the treating method comprises:
The corresponding function data of the call function is obtained according to the call function of thread dispatching;
The function data is write into thread stack, and obtains the function data when the thread stack is write in the thread stack
In stack top address;
Judge whether the stack top address is located within the stack protection zone of the thread stack;
If the stack top address is located in the stack protection zone, the memory headroom of the thread stack is extended, and after expansion
Thread stack memory headroom according to the memory headroom size of the stack protection zone reset the thread stack stack protection
Area, makes the stack top address be located at outside the stack protection zone reseted.
2. the processing method of thread stack according to claim 1, it is characterised in that described whether to judge the stack top address
The step of within the stack protection zone of the thread stack, includes:
Acquisition is arranged on the initial magic number data in the stack protection zone, and initial by described in the initial magic number extracting data
The magic number side-play amount of magic number data and magic number take up room;
The magic number initial address of the initial magic number data is determined according to the thread stack termination address and the magic number side-play amount,
And taken up room according to the magic number initial address and the magic number and determine the magic number termination address of the initial magic number data, its
In, the magic number initial address takes with the magic number that the interval that the magic number termination address is defined is the initial magic number data
Area;
When the function data writes the thread stack, the current data in the magic number used area is obtained;
The current data is compared with the initial magic number data, and in the current data and the initial magic number number
According to it is inconsistent when, determine the stack top address be located at the stack protection zone in.
3. the processing method of thread stack according to claim 2, it is characterised in that the internal memory of the extension thread stack
The step of space, includes:
The memory headroom of the thread stack is expanded to by the current memory space according to the current memory space of the thread stack
Preset multiple, new memory headroom of the memory headroom after extension as the thread stack.
4. the processing method of thread stack according to claim 3, it is characterised in that when the initial magic number data are many
Individual, each described initial magic number data is to having during different magic number side-play amounts;The internal memory of the thread stack after expansion is empty
Between in the stack protection zone of the thread stack is reset according to the memory headroom size of the stack protection zone, make the stack top address
The step of outside the stack protection zone reseted, includes:
Maximum evil spirit number side-play amount is obtained from the corresponding magic number side-play amount of multiple initial magic number data, and according to the maximum
Magic number side-play amount and the magic number take up room and determine the memory headroom size of the stack protection zone;
The stack protection zone is reseted in the new memory headroom of the thread stack according to the memory headroom size of the stack protection zone
Initial address and termination address, and using the initial address of the stack protection zone reseted as new stack protection zone starting point
Location, using the termination address of the stack protection zone reseted as new thread stack termination address;
Judge whether the stack top address of the function data in the thread stack is located in the stack protection zone reseted,
And the stack top address be located at the stack protection zone reseted in when return it is described will be described according to the initial memory space
The step of memory headroom of thread stack expands to the preset multiple in the initial memory space, until by the function data whole
The stack top address for writing the function data after the thread stack is located at outside the stack protection zone reseted.
5. the processing method of thread stack according to claim 4, it is characterised in that described according in the stack protection zone
Initial address and termination address that space size resets the stack protection zone in the new memory headroom of the thread stack are deposited, and will
The initial address of the stack protection zone reseted as new stack protection zone initial address, by the termination ground of the stack protection zone reseted
Location also includes as after the step of new thread stack termination address:
The new stack protection zone initial address and the new thread stack termination address are stored in corresponding memory cell,
And
Taken up room in the stack protection zone reseted according to the described magic number side-play amount and the magic number of initial magic number data
New magic number data are set.
6. according to any one of claim 1 to 5 thread stack processing method, it is characterised in that the extension thread
The initial memory space of stack, and the stack protection of the thread stack is reset according to the memory headroom size of the stack protection zone
Area, the step of the stack top address is located at outside the stack protection zone reseted after, also include:
Judge whether the call function terminates, and after the call function terminates, deletion is written in the thread stack
The function data;
The memory headroom of the thread stack extension is discharged, retains the initial memory space of the thread stack;
The corresponding stack protection zone initial address in the initial memory space of the thread stack and the thread stack are terminated
Address is re-write in corresponding memory cell.
7. a kind of processing system of thread stack, it is characterised in that the processing system includes:
Function data acquisition module, for obtaining the corresponding function number of the call function according to the call function of thread dispatching
According to;
Stack top address acquisition module, for the function data to be write into thread stack, and obtains the function data in write institute
Stack top address when stating thread stack in the thread stack;
First judge module, for judging whether the stack top address is located within the stack protection zone of the thread stack;
Module is reseted in extension, if be located in the stack protection zone for the stack top address, extends the interior of the thread stack
Deposit in space, and the memory headroom of thread stack after expansion and institute is reset according to the memory headroom size of the stack protection zone
The stack protection zone of thread stack is stated, the stack top address is located at outside the stack protection zone reseted.
8. the processing system of thread stack according to claim 7, it is characterised in that first judge module includes:
Extraction unit, for obtaining the initial magic number data being arranged in the stack protection zone, and by the initial magic number data
The middle magic number side-play amount for extracting the initial magic number data and magic number take up room;
First determining unit, for determining the initial magic number number according to the thread stack termination address and the magic number side-play amount
According to magic number initial address, and taken up room the determination initial magic number data according to the magic number initial address and the magic number
Magic number termination address, wherein, the interval that the magic number initial address and the magic number termination address are defined is the initial evil spirit
The magic number used area of number data;
Acquiring unit, for after the function data is written to the thread stack, obtaining current in the magic number used area
Data;
Comparing unit, for the current data to be compared with the initial magic number data, and the current data with
When the initial magic number data are inconsistent, determine that the stack top address is located in the stack protection zone.
9. the processing system of thread stack according to claim 8, it is characterised in that module is reseted in the extension to be included:
Expanding element, described according to the current memory space of the thread stack memory headroom of the thread stack is expanded to
The preset multiple in current memory space, new memory headroom of the memory headroom after extension as the thread stack.
10. the processing system of thread stack according to claim 9, it is characterised in that when the initial magic number data are many
Individual, to having during different magic number side-play amounts, module is reseted in the extension also to be included each described initial magic number data:
Second determining unit, for obtaining maximum evil spirit number skew from the corresponding magic number side-play amount of multiple initial magic number data
Amount, and take up room and determine the memory headroom size of the stack protection zone according to the maximum evil spirit number side-play amount and the magic number;
Unit is reseted, for reseting in the new memory headroom of the thread stack according to the memory headroom size of the stack protection zone
The initial address and termination address of the stack protection zone, and protect the initial address of the stack protection zone reseted as new stack
Shield area's initial address, using the termination address of the stack protection zone reseted as new thread stack termination address;
Judging unit, for judging whether the stack top address of the function data in the thread stack is located at described reseting
Stack protection zone in, and the stack top address be located at the stack protection zone reseted in when return the expanding element, until
The stack top address of the function data after the function data all the write thread stack is located at into the stack reseted
Outside protection zone.
The processing system of 11. thread stacks according to claim 10, it is characterised in that the extension is reseted module and also wrapped
Include:
Storage unit, for heavy in the new memory headroom of the thread stack in the memory headroom size according to the stack protection zone
If after the initial address and termination address of the stack protection zone, by the new stack protection zone initial address and the new line
Journey stack termination address is stored in corresponding memory cell;And
Setting unit, takes up room and reseted described for the described magic number side-play amount and the magic number according to initial evil spirit number data
Stack protection zone in new magic number data are set.
The processing system of 12. thread stacks according to any one of claim 7 to 11, it is characterised in that the processing system
Also include:
Second judge module, in the initial memory space for extending the thread stack, and according to the internal memory of the stack protection zone
Space size resets the stack protection zone of the thread stack, after the stack top address is located at outside the stack protection zone reseted,
Judge whether the call function terminates, and after the call function terminates, deletion is written to described in the thread stack
Function data;
Release reservation module, for discharging the memory headroom of the thread stack extension, the initial memory for retaining the thread stack is empty
Between;
Rewriting module, for by the corresponding stack protection zone initial address in the initial memory space of the thread stack and institute
State thread stack termination address to re-write in corresponding memory cell.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710001925.1A CN106648549B (en) | 2017-01-03 | 2017-01-03 | The processing method and system of thread stack |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710001925.1A CN106648549B (en) | 2017-01-03 | 2017-01-03 | The processing method and system of thread stack |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106648549A true CN106648549A (en) | 2017-05-10 |
CN106648549B CN106648549B (en) | 2019-03-19 |
Family
ID=58838034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710001925.1A Active CN106648549B (en) | 2017-01-03 | 2017-01-03 | The processing method and system of thread stack |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648549B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632936A (en) * | 2017-09-22 | 2018-01-26 | 迈普通信技术股份有限公司 | Stack protection method and device |
CN109947476A (en) * | 2019-02-25 | 2019-06-28 | 星汉智能科技股份有限公司 | A kind of statistical method and system in run time stack space |
CN110362991A (en) * | 2019-07-19 | 2019-10-22 | 上海睿赛德电子科技有限公司 | A kind of method of the thread stack space protection of real time operating system |
CN111209042A (en) * | 2020-01-06 | 2020-05-29 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for establishing function stack |
CN114253825A (en) * | 2020-09-22 | 2022-03-29 | 腾讯科技(深圳)有限公司 | Memory leak detection method and device, computer equipment and storage medium |
CN115221506A (en) * | 2022-07-15 | 2022-10-21 | 深圳市航顺芯片技术研发有限公司 | Protection method for preventing stack overflow and related equipment |
WO2023193630A1 (en) * | 2022-04-08 | 2023-10-12 | 北京字节跳动网络技术有限公司 | Peak detection method and apparatus, and computer device and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609785A (en) * | 2004-10-27 | 2005-04-27 | 上海大学 | Stack area expanding method |
JP2006196013A (en) * | 1993-11-15 | 2006-07-27 | Freescale Semiconductor Inc | Data processing method |
CN101183331A (en) * | 2007-12-12 | 2008-05-21 | 上海华为技术有限公司 | Tasks stack overflow detection method, device and computer system thereof |
CN104572448A (en) * | 2014-12-23 | 2015-04-29 | 大唐移动通信设备有限公司 | Method and device for realizing use condition of thread stack |
-
2017
- 2017-01-03 CN CN201710001925.1A patent/CN106648549B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006196013A (en) * | 1993-11-15 | 2006-07-27 | Freescale Semiconductor Inc | Data processing method |
CN1609785A (en) * | 2004-10-27 | 2005-04-27 | 上海大学 | Stack area expanding method |
CN101183331A (en) * | 2007-12-12 | 2008-05-21 | 上海华为技术有限公司 | Tasks stack overflow detection method, device and computer system thereof |
CN104572448A (en) * | 2014-12-23 | 2015-04-29 | 大唐移动通信设备有限公司 | Method and device for realizing use condition of thread stack |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632936A (en) * | 2017-09-22 | 2018-01-26 | 迈普通信技术股份有限公司 | Stack protection method and device |
CN107632936B (en) * | 2017-09-22 | 2020-08-18 | 迈普通信技术股份有限公司 | Stack protection method and device |
CN109947476A (en) * | 2019-02-25 | 2019-06-28 | 星汉智能科技股份有限公司 | A kind of statistical method and system in run time stack space |
CN110362991A (en) * | 2019-07-19 | 2019-10-22 | 上海睿赛德电子科技有限公司 | A kind of method of the thread stack space protection of real time operating system |
CN111209042A (en) * | 2020-01-06 | 2020-05-29 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for establishing function stack |
CN111209042B (en) * | 2020-01-06 | 2022-08-26 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for establishing function stack |
CN114253825A (en) * | 2020-09-22 | 2022-03-29 | 腾讯科技(深圳)有限公司 | Memory leak detection method and device, computer equipment and storage medium |
WO2023193630A1 (en) * | 2022-04-08 | 2023-10-12 | 北京字节跳动网络技术有限公司 | Peak detection method and apparatus, and computer device and storage medium |
CN115221506A (en) * | 2022-07-15 | 2022-10-21 | 深圳市航顺芯片技术研发有限公司 | Protection method for preventing stack overflow and related equipment |
CN115221506B (en) * | 2022-07-15 | 2023-08-29 | 深圳市航顺芯片技术研发有限公司 | Protection method for preventing stack overflow and related equipment |
Also Published As
Publication number | Publication date |
---|---|
CN106648549B (en) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648549A (en) | Processing method and system for thread stack | |
US20070143326A1 (en) | Dynamic circular work-stealing deque | |
US7337298B2 (en) | Efficient class memory management | |
MY114810A (en) | Data processing apparatus and method for controlling acces to a memory having a plurality of memory locations for storing data values | |
US20190073371A1 (en) | Method for managing files and apparatus using the same | |
CN102200930B (en) | Synchronous variable mapping method and device, synchronous variable freeing method and synchronous variable deleting method | |
CN112560114B (en) | Method and device for calling intelligent contract | |
CN107783908A (en) | A kind of detection method based on linux kernel RAM leakage | |
CN101673246A (en) | High-efficient first-in first-out (FIFO) data pool reading and writing method | |
CN112463333A (en) | Data access method, device and medium based on multithreading concurrency | |
US10218813B2 (en) | Automatic surge protection of system resources | |
US6226725B1 (en) | Method and system in a data processing system for the dedication of memory storage locations | |
CN110399101A (en) | A kind of Write-operation process method of disk, device, system and storage medium | |
KR100960358B1 (en) | Mandatory process memory access control method using multi-level security, and computer readable recording medium having thereon programmed mandatory process memory access control method using multi-level security | |
US6546484B2 (en) | Program module management system and method thereof and storing medium of management programs of the system | |
CN107506500A (en) | The control method and relevant apparatus of a kind of Data Migration | |
CN103995743B (en) | Two-stage mixed task scheduling method based on resource reservation | |
CN114157717B (en) | System and method for dynamic current limiting of micro-service | |
CN109190406A (en) | A kind of distributed storage authorization check method, permission querying method and device | |
US20130031138A1 (en) | Method and apparatus for improving the performance of object-oriented queues | |
CN114546661A (en) | Dynamic memory allocation method and device based on memory transformation | |
CN106407465A (en) | File deletion method and system based on distributed file system | |
CN111143288A (en) | Data storage method, system and related device | |
CN110874273B (en) | Data processing method and device | |
CN103955513B (en) | The method that embedded system and its data are deleted |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220421 Address after: Room 403, 4th floor, building 23, East District, yard 10, Xibeiwang East Road, Haidian District, Beijing 100089 Patentee after: BEIJING VSETTAN DATA TECHNOLOGY CO.,LTD. Address before: 100192 South Zone 1, floor 11, block a, No. 8 Xueqing Road (Science and technology wealth center), Haidian District, Beijing Patentee before: BEIJING VSETTAN DATA TECHNOLOGY CO.,LTD. Patentee before: Huasheng Xintai Information Industry Development Co., Ltd |