CN101183331A - 一种任务栈溢出检测方法、装置及计算机*** - Google Patents
一种任务栈溢出检测方法、装置及计算机*** Download PDFInfo
- Publication number
- CN101183331A CN101183331A CNA2007101723826A CN200710172382A CN101183331A CN 101183331 A CN101183331 A CN 101183331A CN A2007101723826 A CNA2007101723826 A CN A2007101723826A CN 200710172382 A CN200710172382 A CN 200710172382A CN 101183331 A CN101183331 A CN 101183331A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- attribute
- stack
- space
- 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)
- Executing Machine-Instructions (AREA)
Abstract
本发明涉及堆栈处理技术,公开了一种任务栈溢出检测方法、装置及计算机***,其中任务栈溢出检测方法包括:在任务栈的栈顶设置检测空间;将所述检测空间中的数据设置为只读属性;通过检测是否有任务尝试更改所述只读属性的数据,判断是否有任务栈溢出。使用本发明实施例提供的技术方案,不需要启动额外的定时检测任务或定时检测中断对任务栈溢出进行检测,可以节省有限的***资源。
Description
技术领域
本发明涉及堆栈处理技术,具体涉及一种任务栈溢出检测方法、装置及计算机***。
背景技术
现代嵌入式实时操作***中,任务越来越多,功能也越来越多,***也越来越复杂。在多任务的实时操作***中,一般每个任务(或进程)多有自已独立的堆栈,一个典型的实时多任务操作***的任务栈分布情况为一个首尾相连的链表结构。任务栈中存放了任务相关的任务首地址、状态寄存器、现场数据等重要信息。在***运行过程中,当任务的现场数据越来越大时,比如有太大的局部变量或者数组越界访问时可能会越过栈顶,出现任务栈溢出现象,即出现任务栈越界的现象,在任务栈溢出时,会将其他任务的首地址或者状态寄存器等数据修改,该修改可能会导致其他任务异常甚至***崩溃。
现有的一种任务栈溢出检测方法是这样的:如图1所示,描述了n个任务(任务1、任务2、...、任务n)的任务栈的情况,每个任务的任务栈从栈底部分开始分别是任务首地址、状态寄存器等信息,现场数据存储在寄存器中,为了检测任务栈溢出,在每个任务的栈顶部分设置了一段标志空间101,使原来相邻任务的临界点,如图1中的任务1的栈顶和任务2的栈底加了一段标志空间101,因而原有的相邻任务可以通过标志空间101隔开。
为了能够对任务栈的溢出进行检测,在标志空间101写上预置的一段特殊标志,一般情况下是不会有任务所填写的数据与所述的特殊标志相同,因而可以在标志空间101写上特殊标志后,可以通过在定时检测任务、或者通过定时检测中断来定时检测该特殊标志是否被更改来判断该任务栈是否溢出。如果定时检测任务或定时检测中断检测到任务栈的特殊标志被更改,即被任务所改写,则说明发生了任务栈溢出,从而进行相应的后续处理。
从上可知,虽然现有的任务栈溢出检测方法可以对任务栈的溢出进行检测,但是需要启动额外的定时检测任务或定时检测中断,浪费***资源;同时,由于是通过定时检测任务或定时检测中断进行检测,不能实时的对任务栈溢出进行检测。
发明内容
本发明实施例提供了一种任务栈溢出检测方法、装置及计算机***,不需要启动额外的定时检测任务或定时检测中断对任务栈溢出进行检测。
本发明实施例的目的是通过以下技术方案实现的:
本发明实施例提供了一种任务栈溢出检测方法,包括:在任务栈的栈顶设置检测空间;将所述检测空间中的数据设置为只读属性;通过检测是否有任务尝试更改所述只读属性的数据,判断是否有任务栈溢出。
相应的,本发明实施例提供了一种任务栈溢出检测装置,包括:空间设置单元,用于在任务栈的栈顶设置检测空间;属性设置单元,用于将所述空间设置单元设置的所述检测空间中的数据设置为只读属性;检测单元,用于检测是否有任务尝试更改所述属性设置单元设置的所述只读属性的数据。
本发明实施例还提供了一种计算机***,包括本发明实施例提供的上述任务栈溢出检测装置。
从本发明实施例提供的以上技术方案可以看出,由于本发明实施例可以设置检测空间,并将检测空间中的数据设置为只读属性,从而在有任务尝试更改只读属性的数据时可以直接检测到任务栈溢出,而不需要设置定时任务、或定时检测中断,因而可以节省有限的***资源;同时,由于并不能更改只读属性的数据,因而在任务栈溢出后不会对其他的任务栈造成影响,提高***的稳定性。
附图说明
图1为现有技术中任务栈分布示意图;
图2为本发明实施例中任务栈溢出检测方法实施例一的流程示意图;
图3为本发明实施例中任务栈分布示意图;
图4为本发明实施例中任务栈溢出检测装置实施例一的结构示意图;
图5为本发明实施例中任务栈溢出检测装置实施例二的结构示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图2描述了本发明提供的任务栈溢出检测方法实施例一的流程,包括:
步骤201、在任务栈的栈顶设置检测空间。
具体的,可以在分配任务栈时多分配一些空间作为检测空间,也可以在分配任务栈后,从任务栈的栈顶选取部分空间作为检测空间;其中,检测空间的大小根据具体的使用环境、不同的中央处理器(CPU:Central Process Unit)类型等会有不同,因而检测空间的大小需要按照具体需要进行设置。
步骤202、将检测空间中的数据设置为只读属性。
本发明实施例优选通过存储器管理单元(MMU:Memory ManagementUnit)将检测空间中的数据设置为只读属性,所述的MMU可以设置在CPU内,也可以设置在CPU外,本发明实施例优选将MMU设置在CPU内。但是本发明实施例并不限定只采用MMU将检测空间中的数据设置为只读属性。
其中,可以只将检测空间中的部分数据设置为只读属性,也可以将检测空间的全部数据设置为只读属性。
步骤203、通过检测是否有任务尝试更改只读属性的数据,判断是否有任务栈溢出。
如果有任务尝试更改只读属性的数据,则说明有任务栈溢出;反之,则说明没有任务栈溢出。
数据的属性设置为只读,因而只能读取其中的数据,不能对数据进行修改。在任务栈溢出时,需要写入相应的数据,由于数据为只读属性,因而在任务尝试更改只读属性的数据时,会产生异常,例如产生CPU的数据访问异常等,从而可以通过检测是否有任务尝试更改只读属性的数据来判断是否有任务栈溢出。在检测到有任务尝试更改只读属性的数据,即检测到任务栈溢出时,就可以触发相应的后续操作。
从上可知,本实施例通过设置检测空间,并将检测空间中的数据设置为只读属性,从而在有任务尝试更改只读属性的数据时可以直接检测到任务栈溢出,而不需要设置定时任务、或定时检测中断,因而可以节省有限的***资源;同时,由于并不能更改只读属性的数据,因而在任务栈溢出后不会对其他的任务栈造成影响,提高***的稳定性。
在检测到有任务尝试更改只读属性的数据时,可以触发CPU的数据访问异常,通过数据访问异常将尝试更改只读属性的数据的任务挂起,即暂停该任务,从而中止该任务对只读属性的数据的更改,避免对其他的任务栈造成影响。
由于在有任务尝试更改只读属性的数据时,会触发CPU的数据访问异常,因而可以对CPU数据访问异常中断处理程序进行优化,使优化后的CPU数据访问异常中断处理程序可以记录数据异常访问时的任务标识、和/或尝试更改的数据的数据地址。因此,本发明实施例在触发中央处理器的数据访问异常后,可以调用预置的CPU数据访问异常中断处理程序,记录任务的任务标识、和/或尝试更改的数据的数据地址。
通过记录任务标识,在再次为该任务分配任务栈时可以适当的增加一些空间,使再次为该任务分配的任务栈不容易溢出,从而提高***稳定性;进一步,通过记录尝试更改的数据的数据地址,可以具体知道为该任务分配的任务栈的大小,避免造成对有限的空间资源的浪费。
在使用MMU时,本发明实施例优选将检测空间的容量设置为MMU最小管理页大小的两倍,但是本发明实施例并不限定只将检测空间的容量设置为MMU最小管理页大小的两倍,例如设置为2.5倍、三倍或四倍等都不会影响本发明的实现。假设MMU最小管理页大小为4K字节(Bytes),则本发明实施例优选将检测空间的容量设置为8K bytes。例如,最小管理页大小为4KBytes,一个任务本来需要的空间大小为7K Bytes,再加上检测空间需要的8KBytes,实际上分配给该任务的空间大小应该为15K Bytes。因而在为任务栈设置了最小管理页大小的两倍容量的检测空间时,需要从最小管理页大小的两倍容量的检测空间中,找到是最小管理页大小的整数倍的数据地址,该最小管理页的整数倍的数据地址置于检测空间的起始地址与中间地址之间;以最小管理页大小的整数倍的数据地址开始,将容量为最小管理页大小的空间中的数据设置为只读属性。其中,最小管理页的整数倍的数据地址置于检测空间的起始地址与中间地址之间,可以在找到最小管理页的整数倍的数据地址后,找到以最小管理页的整数倍的数据地址开始的空间,该空间的容量为最小管理页大小。以最小管理页大小为4K为例,例如本来应该为一个任务栈分配的空间大小为25K Bytes,分配的地址空间从0~25K,此时为该任务栈分配的检测空间为8K,地址空间从25K~33K,由于MMU的要求,在设置检测空间的数据为只读属性时,可以选择将从地址为28K开始的4K Bytes大小的空间内的数据设置为只读属性,即将地址空间从28K~32K内的数据设置为只读属性。
以下举具体的实施例对本发明实施例提供的任务栈溢出检测方法进行描述,如图3所示,描述了两个任务(任务1和任务2)的任务栈的情况:在为任务1和任务2分配的任务栈的栈底为任务首地址,任务首地址上是为任务栈分配状态寄存器,用于保存现场数据,在任务栈的栈顶设定了相应的检测空间301。
在任务栈空间分配时,为每个任务栈多分配MMU最小管理页大小的两倍大小的空间;例如设置为4K Bytes*2=8K Bytes;
通过MMU将此两倍页空间大小中间页起始地址的数据设置成只读;
优化CPU数据访问异常中断处理程序,增加记录异常访问时的数据地址和任务标识;
当有任务的任务栈发生越界,即溢出时时,将触发CPU的数据访问异常,使用数据访问异常中断处理程序可以记录发生异常的任务标识和异常访问时的数据地址。
从上可知,通过设置检测空间,并将检测空间中的数据设置为只读属性,可以在有任务尝试更改只读属性的数据时直接检测到任务栈溢出,而不需要设置定时任务、或定时检测中断,因而可以节省有限的***资源;同时,由于并不能更改只读属性的数据,因而在任务栈溢出能够起到预防的作用,不会对其他的任务栈造成影响,提高***的稳定性。
在CPU为MPC8260、实时操作***为vxWorks5.5的***中:
1、需要保护的关键任务创建时在原有任务堆栈需求增加8k(假设MMU最小管理页空间为4k)大小空间;
2、通过vxWorks的vmBaseLib库中的vmBaseStateSet函数把中间中8k空间中4k开始处的空间设置成只读;
假设该任务创建在之后的任务栈的栈顶地址为:pTaskTcb1=0x3000;可以通过如下的描述进行上述设置;
#include″vmlib.h″
int g_vmChangeBase=0x3000-0x1000;
int g_vmChangeLen=0x1000;
int g_vmStateMask=VM_STATE_MASK_VALID|M_STATE_MASK_WRITABLE;
int g_vmState=VM_STATE_VALID|VM_STATE_WRITABLE_NOT;
void testProtectTaskStack(void)
{
int Result;
Result=vmBaseStateSet(NULL,g_vmChangeBase,g_vmChangeLen,g_vmStateMask,g_vmState);
if(OK!=Result)
printf(″Error protect task’s stack\r\n″);
}
3、当任务栈被修改时,将触发8260CPU的数据访问异常,从而起到任务栈溢出的检测和预防作用;
可以在串口或者shell下输入:
->testProtectTaskStack
->m 0x2000
00002000:1234-5678
进行测试,在输入后将触发以下异常:
data access
Exception current instruction address:0x000b6e00
Machine Status Register:0x00009030
Data Access Register:0x00002000
Condition Register:0x42400080
Data storage interrupt Register:0x00009030
d01ec vxTaskEntry+5c:shell()
98da8 shell +180:98dd4()
98fe4 shell +3bc:execute()
99164 execute +d4:yyparse()
f75c4 yyparse +790:f5580()
f56f0 yystart +878:m(0)
shell restarted.
从上面的描述可以知道任务(shell)非法访问了0x00002000处的地址,由于触发了CPU数据访问异常,拒绝了任务(shell)的访问,起到了任务栈溢出的检测和预防作用。
本发明实施例还提供了任务栈溢出检测装置,图4描述了本发明提供的任务栈溢出检测装置实施例一的结构,包括:
空间设置单元401,用于在任务栈的栈顶设置检测空间;
属性设置单元402,用于将空间设置单元401设置的检测空间中的数据设置为只读属性;
检测单元403,用于检测是否有任务尝试更改属性设置单元402设置的只读属性的数据。
从上可知,本实施例通过设置检测空间,并将检测空间中的数据设置为只读属性,从而在有任务尝试更改只读属性的数据时可以直接检测到任务栈溢出,而不需要设置定时任务、或定时检测中断,因而可以节省有限的***资源;同时,由于并不能更改只读属性的数据,因而在任务栈溢出后不会对其他的任务栈造成影响,提高***的稳定性。
本发明实施例提供的任务栈溢出检测装置还可以包括处理单元,用于在检测单元403检测到有任务尝试更改只读属性的数据时,触发中央处理器的数据访问异常,中止任务对只读属性的数据的更改;从而避免对其他任务的任务栈造成影响。
本发明提供的任务栈溢出检测装置实施例二如图5所示,包括:
空间设置单元401,用于在任务栈的栈顶设置检测空间;
属性设置单元402,用于将空间设置单元401设置的检测空间中的数据设置为只读属性;
检测单元403,用于检测是否有任务尝试更改属性设置单元402设置的只读属性的数据;
处理单元404,用于在检测单元403检测到有任务尝试更改只读属性的数据时,触发中央处理器的数据访问异常,中止任务对只读属性的数据的更改;从而避免对其他任务的任务栈造成影响;
记录单元405,用于在处理单元404触发中央处理器的数据访问异常后,调用预置的中央处理器数据访问异常中断处理程序,记录任务的任务标识、和/或尝试更改的数据的数据地址。
本实施例可以进一步记录任务的任务标识、和/或尝试更改的数据的数据地址,通过记录任务标识,可以在再次为该任务分配任务栈时可以适当的增加一些空间,使再次为该任务分配的任务栈不容易溢出,从而提高***稳定性;进一步,通过记录尝试更改的数据的数据地址,可以具体知道为该任务分配的任务栈的大小,避免造成对有限的空间资源的浪费。
本发明实施例还提供了一种计算机***,该计算机***包括本发明实施例所提供的任务栈溢出检测装置。上述的计算机***可以是个人电脑、移动通信终端、通信***中的单板等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤:
在任务栈的栈顶设置检测空间;
将所述检测空间中的数据设置为只读属性;
检测是否有任务尝试更改所述只读属性的数据。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种任务栈溢出检测方法、装置及计算机***进行了详细介绍,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种任务栈溢出检测方法,其特征在于,包括:
在任务栈的栈顶设置检测空间;
将所述检测空间中的数据设置为只读属性;
通过检测是否有任务尝试更改所述只读属性的数据,判断是否有任务栈溢出。
2.如权利要求1所述的任务栈溢出检测方法,其特征在于,检测到有任务尝试更改所述只读属性的数据,该方法进一步包括:
触发中央处理器的数据访问异常,中止所述任务对所述只读属性的数据的更改。
3.如权利要求2所述的任务栈溢出检测方法,其特征在于,触发中央处理器的数据访问异常后,该方法进一步包括:
调用预置的中央处理器数据访问异常中断处理程序,记录所述任务的任务标识、和/或尝试更改的数据的数据地址。
4.如权利要求1至3任一所述的任务栈溢出检测方法,其特征在于,使用存储器管理单元将所述检测空间中的数据设置为只读属性。
5.如权利要求4所述的任务栈溢出检测方法,其特征在于,所述在任务栈的栈顶设置检测空间的步骤包括:
将所述检测空间的容量设置为所述存储器管理单元最小管理页大小的至少两倍。
6.如权利要求5所述的任务栈溢出检测方法,其特征在于,所述将所述检测空间中的数据设置为只读属性的步骤包括:
从所述容量为最小管理页大小的两倍的检测空间中,找到是所述最小管理页大小的整数倍的数据地址,所述最小管理页大小的整数倍的数据地址置于所述检测空间的起始地址到中间地址之间;
以所述最小管理页大小的整数倍的数据地址开始,将容量为所述最小管理页大小的空间的数据设置为只读属性。
7.一种任务栈溢出检测装置,其特征在于,包括:
空间设置单元,用于在任务栈的栈顶设置检测空间;
属性设置单元,用于将所述空间设置单元设置的所述检测空间中的数据设置为只读属性;
检测单元,用于检测是否有任务尝试更改所述属性设置单元设置的所述只读属性的数据。
8.如权利要求7所述的任务栈溢出检测装置,其特征在于,还包括:
处理单元,用于在所述检测单元检测到有任务尝试更改所述只读属性的数据时,触发中央处理器的数据访问异常,中止所述任务对所述只读属性的数据的更改。
9.如权利要求8所述的任务栈溢出检测装置,其特征在于,还包括:
记录单元,用于在所述处理单元触发中央处理器的数据访问异常后,调用预置的中央处理器数据访问异常中断处理程序,记录所述任务的任务标识、和/或尝试更改的数据的数据地址。
10.一种计算机***,其特征在于,包括如权利要求7至9任一所述的任务栈溢出检测装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101723826A CN101183331B (zh) | 2007-12-12 | 2007-12-12 | 一种任务栈溢出检测方法、装置及计算机*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101723826A CN101183331B (zh) | 2007-12-12 | 2007-12-12 | 一种任务栈溢出检测方法、装置及计算机*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101183331A true CN101183331A (zh) | 2008-05-21 |
CN101183331B CN101183331B (zh) | 2010-12-08 |
Family
ID=39448618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101723826A Expired - Fee Related CN101183331B (zh) | 2007-12-12 | 2007-12-12 | 一种任务栈溢出检测方法、装置及计算机*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101183331B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629231A (zh) * | 2012-04-24 | 2012-08-08 | 迈普通信技术股份有限公司 | 一种检测任务堆栈的方法 |
CN102663312A (zh) * | 2012-03-20 | 2012-09-12 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及*** |
CN103853662A (zh) * | 2014-02-21 | 2014-06-11 | 北京神舟航天软件技术有限公司 | 一种航天软件***溢出检测和破坏限制机制 |
CN103870244A (zh) * | 2014-02-21 | 2014-06-18 | 北京神舟航天软件技术有限公司 | 一种sparc平台任务栈溢出检测算法 |
WO2016095672A1 (zh) * | 2014-12-18 | 2016-06-23 | 北京奇虎科技有限公司 | 一种基于栈的异常检测方法和装置 |
CN106648549A (zh) * | 2017-01-03 | 2017-05-10 | 北京华胜信泰数据技术有限公司 | 线程栈的处理方法及*** |
CN107797864A (zh) * | 2017-10-19 | 2018-03-13 | 浪潮金融信息技术有限公司 | 进程资源方法及装置、计算机可读存储介质、终端 |
CN109144756A (zh) * | 2017-06-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种栈溢出处理的方法及装置 |
CN109214169A (zh) * | 2017-06-30 | 2019-01-15 | 芜湖美的厨卫电器制造有限公司 | 堆栈溢出检测方法、装置及家用电器 |
CN110674050A (zh) * | 2019-10-08 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 内存越界检测方法、装置、电子设备及计算机存储介质 |
CN111240880A (zh) * | 2020-01-10 | 2020-06-05 | 深圳震有科技股份有限公司 | 一种内存溢出的调试方法、智能终端及存储介质 |
CN111858363A (zh) * | 2020-07-24 | 2020-10-30 | Oppo广东移动通信有限公司 | 栈溢出的识别方法、装置、终端及存储介质 |
CN117591333A (zh) * | 2024-01-17 | 2024-02-23 | 深圳市国电科技通信有限公司 | 线程栈溢出检测方法、装置、***、芯片和介质 |
-
2007
- 2007-12-12 CN CN2007101723826A patent/CN101183331B/zh not_active Expired - Fee Related
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663312A (zh) * | 2012-03-20 | 2012-09-12 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及*** |
CN102663312B (zh) * | 2012-03-20 | 2014-10-01 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及*** |
CN102629231B (zh) * | 2012-04-24 | 2016-04-13 | 迈普通信技术股份有限公司 | 一种检测任务堆栈的方法 |
CN102629231A (zh) * | 2012-04-24 | 2012-08-08 | 迈普通信技术股份有限公司 | 一种检测任务堆栈的方法 |
CN103870244B (zh) * | 2014-02-21 | 2017-01-11 | 北京神舟航天软件技术有限公司 | 一种sparc平台任务栈溢出检测算法 |
CN103853662A (zh) * | 2014-02-21 | 2014-06-11 | 北京神舟航天软件技术有限公司 | 一种航天软件***溢出检测和破坏限制机制 |
CN103870244A (zh) * | 2014-02-21 | 2014-06-18 | 北京神舟航天软件技术有限公司 | 一种sparc平台任务栈溢出检测算法 |
CN103853662B (zh) * | 2014-02-21 | 2016-08-17 | 北京神舟航天软件技术有限公司 | 一种航天软件***溢出检测和破坏限制机制 |
WO2016095672A1 (zh) * | 2014-12-18 | 2016-06-23 | 北京奇虎科技有限公司 | 一种基于栈的异常检测方法和装置 |
CN106648549A (zh) * | 2017-01-03 | 2017-05-10 | 北京华胜信泰数据技术有限公司 | 线程栈的处理方法及*** |
CN106648549B (zh) * | 2017-01-03 | 2019-03-19 | 北京华胜信泰数据技术有限公司 | 线程栈的处理方法及*** |
CN109144756A (zh) * | 2017-06-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种栈溢出处理的方法及装置 |
CN109214169B (zh) * | 2017-06-30 | 2023-12-08 | 芜湖美的厨卫电器制造有限公司 | 堆栈溢出检测方法、装置及家用电器 |
CN109214169A (zh) * | 2017-06-30 | 2019-01-15 | 芜湖美的厨卫电器制造有限公司 | 堆栈溢出检测方法、装置及家用电器 |
CN107797864A (zh) * | 2017-10-19 | 2018-03-13 | 浪潮金融信息技术有限公司 | 进程资源方法及装置、计算机可读存储介质、终端 |
CN110674050B (zh) * | 2019-10-08 | 2022-04-19 | 腾讯科技(深圳)有限公司 | 内存越界检测方法、装置、电子设备及计算机存储介质 |
CN110674050A (zh) * | 2019-10-08 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 内存越界检测方法、装置、电子设备及计算机存储介质 |
CN111240880A (zh) * | 2020-01-10 | 2020-06-05 | 深圳震有科技股份有限公司 | 一种内存溢出的调试方法、智能终端及存储介质 |
CN111858363A (zh) * | 2020-07-24 | 2020-10-30 | Oppo广东移动通信有限公司 | 栈溢出的识别方法、装置、终端及存储介质 |
CN117591333A (zh) * | 2024-01-17 | 2024-02-23 | 深圳市国电科技通信有限公司 | 线程栈溢出检测方法、装置、***、芯片和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101183331B (zh) | 2010-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101183331B (zh) | 一种任务栈溢出检测方法、装置及计算机*** | |
JP3593241B2 (ja) | 計算機の再起動方法 | |
CN103198450B (zh) | 图像形成装置 | |
CN105980993B (zh) | 数据处理设备和方法 | |
JP4939387B2 (ja) | データ処理装置及びアドレス空間保護方法 | |
US20070050586A1 (en) | Memory access control apparatus | |
CN108763099A (zh) | ***的启动方法、装置、电子设备和存储介质 | |
KR20130036189A (ko) | 하드웨어 모드와 보안 플래그에 의존하여 판독된 명령어에 대한 메모리 영역의 제한 | |
JP2007287103A (ja) | マイクロコンピュータ及びメモリアクセスの制御方法 | |
US20100082929A1 (en) | Memory protection method, information processing apparatus, and computer-readable storage medium that stores memory protection program | |
US20040122834A1 (en) | Apparatus and method for switching mode in a computer system | |
JPH11259285A (ja) | オペレーティングシステムのモジュール入れ替え方法及びモジュールの入れ替えを作う処理装置 | |
EP3271827A1 (en) | Firewall to determine access to a portion of memory | |
CN107643943A (zh) | 一种任务栈的管理方法及装置 | |
JP5289688B2 (ja) | プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法 | |
JP6679419B2 (ja) | メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ | |
KR100791815B1 (ko) | 컴퓨터 시스템 및 컴퓨터 시스템에서 인스트럭션을 실행하는 방법 | |
JP3485940B2 (ja) | 仮想記憶制御装置及び方法 | |
WO2019237865A1 (zh) | 一种数据保护方法及计算装置 | |
WO2019237862A1 (zh) | 一种线性地址空间的布局方法及计算装置 | |
WO2000045261A1 (fr) | Procede et dispositif de commande d'acces | |
CN111914284B (zh) | 操作***中进程地址空间隔离保护方法、装置及设备 | |
JP2010079837A (ja) | プログラム更新方法及びプログラム更新装置 | |
CN117591333B (zh) | 线程栈溢出检测方法、装置、***、芯片和介质 | |
JP3674446B2 (ja) | 個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20131212 |