CN100375060C - 一种嵌入式***及其实时内存监控处理方法 - Google Patents

一种嵌入式***及其实时内存监控处理方法 Download PDF

Info

Publication number
CN100375060C
CN100375060C CNB2005100407714A CN200510040771A CN100375060C CN 100375060 C CN100375060 C CN 100375060C CN B2005100407714 A CNB2005100407714 A CN B2005100407714A CN 200510040771 A CN200510040771 A CN 200510040771A CN 100375060 C CN100375060 C CN 100375060C
Authority
CN
China
Prior art keywords
debugging
embedded system
memory
internal memory
real
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.)
Expired - Fee Related
Application number
CNB2005100407714A
Other languages
English (en)
Other versions
CN1885275A (zh
Inventor
吴涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yuanxin Science and Technology Co Ltd
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2005100407714A priority Critical patent/CN100375060C/zh
Publication of CN1885275A publication Critical patent/CN1885275A/zh
Application granted granted Critical
Publication of CN100375060C publication Critical patent/CN100375060C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种实时监控内存的嵌入式***及其实时内存监控、捕捉内存越界错误的处理方法,其中,该实时内存监控的方法,包括步骤:启动一实时内存监控代理任务模块,并进行一系列的内存监控初始化;接收后台用户指令,根据具体条件设置内存监控点,并将所述用户命令传送给所述实时内存监控代理任务模块;以及在满足触发条件时,进行调试异常中断处理。

Description

一种嵌入式***及其实时内存监控处理方法
技术领域
本发明涉及一种实时监控内存的嵌入式***及其实时内存监控、捕捉内存越界错误的处理方法,尤其涉及一种嵌入式***工程版本中的实时内存监控方法。
背景技术
嵌入式***,即一种嵌入到对象体系中的专用计算机***,在如今已经被广泛使用和开发,“嵌入性”、“专用性”与“计算机***”是嵌入式***的三个基本要素。嵌入式软件通常在嵌入式操作***中运行,而嵌入式***的硬件平台通常采用专用的处理芯片。因此,嵌入式***的开发、调试都需要有使用专用的硬件或者软件工具支持,而且需要编译器生成专门的调试版本。而在开发完成后的用户所使用的软件的工程版本中,则无法使用这些硬件或者软件的开发、调试工具。
嵌入式***需要能够长时间可靠地工作,但是其中的软件中的错误是不可避免的,尤其是软件中由于程序需要占用一定的内存空间而引起的内存操作的错误,例如,全局变量的越界访问、非法越界读写内存等。这些错误轻则导致程序运行的流程出错,严重的甚至导致***瘫痪。在调试时如果不能发现所有的问题,在工程版本的运行过程中就有可能发生故障。而在这些内存非法操作所导致的故障发生后,又不能及时进行相应的分析和调试,则很难捕捉到故障类型及其定位,给嵌入式***的稳定性提高带来了困难。
如今,在一些嵌入式操作***中,利用调试寄存器提供了硬件断点的功能,能够在指定内存被修改时中断***的运行(挂起),等待用户分析。但这种功能有一定局限性,例如,正常情况下某全局变量的值会在一定范围内变化,一旦被改写成非法值***就会出错,而使用硬件断点无法捕捉到这种错误。另外,在工程版本中也不允许中断任何任务,只能通过捕获现场信息、然后进行事后分析的方法解决问题,这种情况下使用硬件断点也不能适用。
发明内容
针对上述问题,本发明要解决的技术问题就是为了克服现有的嵌入式***工程版本中无法进行实时监控指定内存、捕捉并分析非法越界读写内存的软件错误的缺点。
本发明提供了一种实时内存监控处理的嵌入式***,包括:
一具有多个调试寄存器的嵌入式***处理器;
一处理器中断控制模块,用于控制所述处理器,实现对所监控的内存进行读写与指令的执行,其特征在于:
通过所述处理器中断控制模块在所述处理器的调试寄存器中设置线性地址及相关的控制位,使得所述处理器能够在满足一触发条件时自动触发调试异常中断;及
所述处理器中断控制模块在满足一设置条件时对所述调试寄存器中的信息进行分析并记录现场信息。
本发明进一步提供了一种嵌入式***实时内存监控处理方法,包括步骤:
步骤1,利用嵌入式***处理器提供的调试寄存器及其中断控制程序模块对所监控的内存进行读写与指令的执行;
步骤2,利用在所述调试寄存器中设置线性地址和相关的控制位,使所述处理器在满足一触发条件时自动触发调试异常;
步骤3,所述中断控制程序模块在满足一设置条件时接管处理器的调试异常并记录现场信息。
本发明利用嵌入式***处理器提供的调试寄存器及其相应机制实现监控内存的读写与指令的执行。通过利用在处理其的调试寄存器中设置线性地址(内存管理模式为分页式管理时映射出的地址)并设置调试控制寄存器中相关的控制位,处理器会在触发条件满足时自动触发调试异常处理,实现了对现场的分析、信息记录。
采用本发明所述方法,与现有技术相比,由于采取了在嵌入式***中实时监控内存,记录现场信息,供事后分析的技术措施,可以有效的检测、记录嵌入式软件运行中的故障信息。同时本发明丰富了处理器提供的硬件断点功能,通过定制回调函数可以实时监控指定内存的内存值是否在一个正常的取值范围内变化、监控修改内存的操作发生在非指定的任务中等各种情况。
利用本发明中指令执行监控的方法,可以在工程版本中实时监控程序中指定指令的运行,例如为了分析嵌入式***内存泄漏的问题,可以通过定制回调函数,在程序运行过程中对操作***的接口malloc进行监控,记录malloc接口被调用时申请内存块的大小、函数调用关系等,确定产生内存泄漏的错误程序,同时可以获得嵌入式***完整的内存分布图,包括内存块大小、申请内存的任务、申请时间、申请内存在源程序中的具***置等信息。
在嵌入式***中故障发生后,故障现场的记录信息给故障的分析定位提供了有力的支持。本发明提供的方法,并不局限于某一产品,是一个通用的嵌入式***实时内存监控的方法,可以大大的提高嵌入式***,尤其是嵌入式***工程版本的可调试性,改善程序的质量。
附图说明
图1所示为本发明嵌入式***内存监控处理功能模块图;
图2所示为Intel80×86调试寄存器说明;
图3所示为本发明实时内存监控代理任务设置内存监控点处理流程;
图4所示为通用Intel80×86中断INT1硬件断点处理流程图;
图5所示为以Intel80×86为例的本发明实时内存监控中断处理子流程;
图6所示为以Intel80×86为例的本发明运行栈内存分布。
具体实施方式
下面结合附图,以CPU类型为Intel80×86的嵌入式处理芯片为例,按照附图的顺序对技术方案的实施作进一步的详细描述,其它CPU类型的处理方法类似。
图1是本发明嵌入式***3的内存监控处理功能模块图,其主要包括嵌入式***处理器1和处理器中断控制模块2,并且处理器中断控制模块2还主要包含三个模块,以下分别说明。
前台调试异常中断处理模块11:在获得中断现场信息后(步骤S501),分析中断现场,并将分析信息记录到缓存区(步骤S502)。
后台处理模块13:在调试机上启动后台程序(步骤S507),维护前后台的连接(步骤S508);接收后台用户命令并传送给前台内存监控代理任务模块11(步骤S509),以及接收前台内存监控代理任务模块11返回的现场分析信息,然后将其显示或保存(步骤S510)。后台处理模块13可以随时启动或关闭。
前台实时内存监控代理任务模块12:内存监控初始化工作(步骤S503);维护与调试机的连接(步骤S504);然后根据后台处理模块13发来的用户命令设置内存监控点(步骤S505);定时扫描缓存区,在前后台通讯畅通的情况下将缓存区中记录的中断现场信息发送给后台,然后清空缓存区(步骤S506)。初始化工作包括初始化用于调试中断触发后记录现场信息的缓存区,初始化前后台通讯,初始化调试异常处理程序、替换操作***默认的调试异常处理程序等。
前台调试异常中断处理模块11是本发明的重点部分,下面以CPU类型为Intel80x86的嵌入式处理芯片为例,重点描述前台调试异常中断处理模块。
图2介绍了CPU类型为80×86的处理器的调试寄存器DRn及各标志位的含义。
Intel 80×86中有关调试的中断有两个,中断向量号为1和3,其中中断INT1用于处理单步调试和硬件中断,中断INT3用于处理软件中断。使用INT1和INT3是实现调试器的最根本技术,调试器使用中断INT1和INT3实现调试的方法简述如下:
INT1硬件断点:利用处理器本身的调试支持,DR0-DR3四个调试寄存器保存四个断点的线性地址,DR7寄存器保存的是每个断点的条件。设置硬件断点时,在调试寄存器位DR0-DR3中设置触发指令的线性地址并设置调试控制寄存器(DR7)中相关的控制位,当以下四个条件中的任意一个成立之后,处理器会产生INT 1调试异常,并且将控制权转交给调试器,包括:指令执行、指定内存的内容被修改、指定的内存被读/写、I/O端口上有操作。
INT3软件断点:调试器用一个单字节的断点指令(Oxcc,即INT3H)替换掉希望触发中断的指令的首字节,当程序执行至断点指令处,处理器将产生INT3软件中断异常,默认的调试异常处理程序将被调用,此时保存在栈中的段/偏移地址就是断点指令后一字节的地址。
Intel 80×86提供了8个调试寄存器DR0-DR7用于控制处理器的调试操作,这些寄存器可以通过MOV指令进行读写。Intel 80×86提供的调试寄存器可以用于实现1-4个硬件断点,8个调试寄存器中DR4和DR5目前保留未使用。对于调试寄存器DR0-DR3、DR6、DR7的描述如下:
DR0-DR3是调试断点寄存器,每个调试断点寄存器可以保存一个32位的断点线性地址;
DR6是调试状态寄存器,用于记录中断INT1产生时的调试状态,DR6的32位含义如图2所示。这里主要关心的是B0-B3:第B0-B3位分别与调试寄存器DR0-DR3对应,标识当中断INT1产生时,命中了哪个调试寄存器(与DR7的LENn、R/Wn位配合使用)。
DR7是调试控制寄存器,用于使能断点并设置断点的条件,DR7的32位含义如图2所示,其中:
R/WO-R/W3:定义断点的条件;
00:执行指令时中断;
01:写内存时中断;
10:I/O操作时中断(控制寄存器CR4的DE标志位设置为1时无效);
11:读/写内存时产生中断;
LEN0-LEN3:定义与断点寄存器相关的需要监控的内存尺寸;
00:1字节;
01:2字节;
10:未定义;
11:4字节;
GD:GD位为1时标识调试寄存器受保护;
L0-L3:为1时表示对应的调试寄存器DR0-DR3为任务级断点;
G0-G3:为1时表示对应的调试寄存器DR0-DR3为***级断点。
图3是本发明实时内存监控代理任务模块设置内存监控点处理流程图。
首先,实时内存监控代理任务模块12接收后台的命令,并判断设置的条件是否合法(步骤101);如果合法,则判断是否有空闲的调试寄存器可用(步骤102);如果有,则进行关中断及禁止任务抢占(步骤103);然后根据设置条件中被监控内存地址、触发条件对DR0-DR3、DR7调试寄存器进行修改(步骤104);接着,记录设置内存控制的地址信息、累计触发记录次数信息及回调函数等信息(步骤105);再进行允许任务抢占及开中断的操作(步骤106)。
其中所述的可用设置条件包括:
1、内存地址:取值可以是任意32位地址。嵌入式***中如果使用MMU映像虚拟内存,4G内的内存地址都可能有效,并不限于单板的物理内存大小,所以对这个参数不加限制。
2、触发条件:取值为:
(1)0:监控指令执行;
(2)1:监控改写内存;
(3)2:监控读/写内存;
(4)3:监控I/O操作。
3、累计次数:累计多少次满足触发条件后产生监控记录,即进入图4所示的处理流程。
4、回调函数:用户提供的回调函数,取值可以为空。可以由用户预置回调函数,在回调函数中判断是否需要产生监控记录。当回调函数返回成功时产生监控记录,否则不做任何处理。
设置内存监控点时,在修改处理器的调试寄存器后,同时产生索引信息,用于标识已经设置的内存监控点的设置条件。由于处理器最多支持4个内存监控点,最多可以有4个索引信息,主要记录了使用标记和以上4个监控设置条件。
图4是Intel80×86通用中断INT1硬件断点处理流程图。
图4的处理流程主要用于当硬件中断INT1触发后,保存中断现场,挂起当前任务,等待用户分析。由于中断INT1用于处理单步调试中断和硬件中断,本发明主要关心的是硬件中断的处理,省略了单步调试中断的处理。中断INT1的处理流程描述如下:
首先,清除EFLAGS中的陷阱标志位TraceFlag(步骤201);然后,进行寄存器压栈,包括8个16位寄存器和6个调试寄存器(步骤202);接着,对上述6个调试寄存器DR*清零(步骤203);然后,根据状态寄存器DR6判断是否单步调试异常(步骤204);如果是,则转入单步调试异常处理(步骤212),如果不是,则保存寄存器cs、pc、esp(步骤205),接着挂起当前的任务、等待用户现场分析(206);禁止任务抢占、开中断并取得断点当前的详细信息(步骤207),然后通知调试机做相应的处理(步骤208),再根据断点信息决定是否挂起当前任务(步骤209),随后允许任务抢占(步骤210),恢复上下文、函数返回(步骤211);最后,进行函数调用返回、恢复栈帧及6个调试寄存器(步骤212)。
图5是本发明的实时内存监控中断处理子流程,是图4的一个子流程图。
在嵌入式***,尤其是在工程版本中不允许中断任何任务的执行,只能通过软件自动记录现场信息、事后分析的方法。本发明改进了通用嵌入式操作***中断INT1的处理,用图5的处理流程替换了图4虚框中的处理:
首先根据DR6和DR7确定监控的内存地址addr和断点触发条件flag(步骤301);根据内存地址addr的32位值在监控条件中搜索,寻找断点设置记录(步骤302);判断是否找到设置记录(步骤303),如果是,则进一步判断是否满足触发次数条件(步骤304),如果满足,则调用用户提供的回调函数并记录信息(步骤305),然后判断回调函数是否返回的是0K(步骤306),如果是,则找到下一个可用的中断现场记录区(步骤307),接着判断监控触发条件flag是否为写内存时触发(步骤308),如果是,则记录被监控内存值(4字节)(步骤309),然后记录当前任务ID、任务名、tick值、寄存器、调试寄存器等信息(步骤310);记录当前栈ESP之后的若干字节的内容(步骤311),接着分析栈并记录函数调用关系和参数(步骤312)。
所述现场信息主要包括以下内容:
(1)被监控的内存值;
(2)当前任务的ID、任务名(***运行过程中可能会启动一些临时任务完成特定的功能,记录任务ID的同时记录任务名称,可以保证事后分析问题时可以定位到正确的任务);
(3)当前***的时间;
(4)当前通用寄存器、调试寄存器值;
(5)当前栈中的内存值;
(6)通过分析堆栈获得的当前函数调用关系列表和函数参数。
图6是80×86运行栈内存分布。
编译器产生的代码中对堆栈的结构和使用存在一个约定,其中一个重要的概念是堆栈帧(stack frame)。一个堆栈帧就是运行栈中的一个存储块,它按照一定的规则描述了当前函数的调用信息,一个堆栈帧对应一次函数调用。
由图6可见,p_ebp为中断产生时现场EBP(Extend Base Pointer)寄存器值,ebp[n]表示第n层函数调用时压栈的EBP寄存器值,ret[n]表示第n层函数的返回地址。所有的ebp[n]形成了一个链表,头指针为p_ebp。分析过程中如果发现ebp[n]或ret[n]为零,表明已经到达顶层父函数,停止分析。通过对当前栈的分析可以获得若干层函数的返回地址。根据函数的返回地址信息可以在符号表中获得对应的函数名称。通过对运行栈的回溯可以获得现场的函数调用关系列表,为故障的分析提供有力的依据。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (12)

1.一种实时监控内存的嵌入式***,包括,
一具有多个调试寄存器的嵌入式***处理器;
一处理器中断控制模块,用于控制所述处理器,实现对所监控的内存进行读写与指令的执行,其特征在于:
通过所述处理器中断控制模块在所述处理器的调试寄存器中设置线性地址及相关的控制位,使得所述处理器能够在满足一触发条件时自动触发调试异常中断;及
所述处理器中断控制模块在满足一设置条件时对所述调试寄存器中的信息进行分析并记录现场信息。
2.如权利要求1所述的嵌入式***,其特征在于,所述处理器中断控制模块还包括:
一后台处理模块,用于接收后台用户命令并将其传送给前台;
一前台实时内存监控代理任务模块,连接至所述后台处理模块,用于接收从所述后台处理模块传送来的命令,并根据所述命令设置内存监控点;及
一前台调试异常中断处理模块,连接至所述前台实时内存监控代理任务模块,用于在满足所述触发条件时分析所述内存监控点的中断现场并记录现场信息到一缓存区中;
所述前台实时内存监控代理任务模块定时扫描所述缓存区,并将所述缓存区中记录的现场信息发送给后台,然后清空所述缓存区。
3.如权利要求2所述的嵌入式***,其特征在于:
所述前台实时内存监控代理任务模块还用于初始化缓存区、初始化前后台之间的通讯、初始化调试异常处理程序及替换所述***默认的调试异常处理程序。
4.如权利要求2所述的嵌入式***,其特征在于,所述多个调试寄存器还包括:
调试断点寄存器,用于保存所述中断的各断点的线性地址;
调试控制寄存器,用于保存所述触发条件;
调试状态寄存器,用于记录中断产生时的调试状态;
所述调试断点寄存器中还设置所述调试控制寄存器中相关的控制位;及
所述触发条件包括指令执行时中断、指定内存的内容被修改时中断、读/写内存时中断和I/O操作时中断其中之一;
所述前台实时内存监控代理任务模块还根据所述设置条件修改所述调试控制寄存器中相应的控制位。
5.如权利要求4所述的嵌入式***,其特征在于:
所述前台调试异常中断处理模块在满足所述触发条件后,首先保存当前***运行的上、下文,然后根据所述调试状态寄存器判断本次处理是否为硬件寄存器触发的中断;如果不是,则进行单步调试异常处理;如果是,则继续执行所述硬件寄存器触发的中断。
6.如权利要求5所述的嵌入式***,其特征在于:
所述前台调试异常中断处理模块根据所述调试寄存器中的所述设置条件信息进行分析,并进行现场信息记录;
所述现场信息包括:被监控的内存值;当前任务的识别信息、任务名;当前***的时间;当前通用寄存器、调试寄存器值;当前栈中的内存值;通过分析堆栈获得的当前函数调用关系列表和函数参数。
7.一种嵌入式***实时内存监控处理方法,所述嵌入式***包括具有调试寄存器的处理器,其特征在于,
包括如下步骤:
步骤1,利用嵌入式***处理器的调试寄存器及其中断控制程序模块对所监控的内存进行读写与指令的执行;
步骤2,利用在所述调试寄存器中设置线性地址和相关的控制位,使所述处理器在满足一触发条件时自动触发调试异常;
步骤3,所述中断控制程序模块在满足一设置条件时接管所述处理器的调试异常并记录现场信息。
8.如权利要求7所述的方法,其特征在于,所述步骤1进一步包括步骤:
步骤11,进行一系列的内存监控初始化;
步骤12,等候后台用户命令,如果收到后台用户命令,则根据具体条件设置内存监控点;及
步骤13,如果没有接收到后台用户命令,则扫描缓存区,并将其中的中断现场信息发送给后台。
9.如权利要求8所述的方法,其特征在于:
所述一系列的内存监控初始化步骤还包括初始化缓存区、初始化前后台的通讯、初始化前台调试异常处理程序以及替换默认的调试异常处理程序的步骤。
10.如权利要求7所述的方法,其特征在于,所述触发条件包括:
指令执行、指定内存的内容被修改、指定内存被读/写及I/O端口上有操作其中之一。
11.如权利要求7所述的方法,其特征在于,所述步骤3进一步包括:
步骤31,保存当前***运行的上、下文;
步骤321,根据所述调试寄存器中的信息确定被监控内存的地址和触发条件,如果满足所述相关触发条件,则调用用户提供的回调函数读取现场信息;
步骤322,根据所述回调函数返回值寻找一可用记录区记录现场信息。
12.如权利要求11所述的方法,其特征在于,所述现场信息包括:被监控的内存值;当前任务的识别信息、任务名;当前***的时间;当前通用寄存器、调试寄存器值;当前栈中的内存值;通过分析堆栈获得的当前函数调用关系列表和函数参数。
CNB2005100407714A 2005-06-20 2005-06-20 一种嵌入式***及其实时内存监控处理方法 Expired - Fee Related CN100375060C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100407714A CN100375060C (zh) 2005-06-20 2005-06-20 一种嵌入式***及其实时内存监控处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100407714A CN100375060C (zh) 2005-06-20 2005-06-20 一种嵌入式***及其实时内存监控处理方法

Publications (2)

Publication Number Publication Date
CN1885275A CN1885275A (zh) 2006-12-27
CN100375060C true CN100375060C (zh) 2008-03-12

Family

ID=37583432

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100407714A Expired - Fee Related CN100375060C (zh) 2005-06-20 2005-06-20 一种嵌入式***及其实时内存监控处理方法

Country Status (1)

Country Link
CN (1) CN100375060C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142885A (zh) * 2013-05-09 2014-11-12 百度在线网络技术(北京)有限公司 一种用于对被测程序进行异常测试的方法和装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482845B (zh) * 2008-01-08 2011-08-10 国际商业机器公司 一种调用即时调试器的方法和***
CN101833440B (zh) * 2010-04-30 2013-01-02 西安交通大学 编译器支持下的推测多线程内存数据同步执行方法及装置
CN103443776B (zh) * 2011-03-24 2017-02-15 瑞萨电子株式会社 半导体装置
CN102750212B (zh) * 2012-06-13 2016-01-06 长园深瑞继保自动化有限公司 嵌入式***故障诊断方法和设有故障诊断的嵌入式***
CN103631703B (zh) * 2012-08-21 2018-06-19 腾讯科技(深圳)有限公司 安卓设备中的软件性能测试方法和装置
CN102866951B (zh) * 2012-09-21 2015-07-15 武汉烽火网络有限责任公司 嵌入式***内存越界错误快速定位方法
CN104239200B (zh) * 2013-06-20 2018-10-30 上海博达数据通信有限公司 一种硬单步***中内存读写监控方法
CN104239201B (zh) * 2013-06-20 2018-08-24 上海博达数据通信有限公司 一种软单步***中内存读写监控方法
CN104239192A (zh) * 2013-06-21 2014-12-24 中兴通讯股份有限公司 内存监控处理方法及装置
CN104461806A (zh) * 2013-09-16 2015-03-25 中兴通讯股份有限公司 一种数据断点监控方法、装置及调试器
CN103870767B (zh) * 2014-03-19 2017-02-01 四川大学 基于ebp构造的栈栈帧内容保护方法
CN104182691B (zh) * 2014-08-22 2017-07-21 国家电网公司 数据保密方法及装置
CN106682492B (zh) * 2015-11-06 2019-08-16 大唐移动通信设备有限公司 一种内存越界的管理方法及装置
CN105722187A (zh) * 2016-03-28 2016-06-29 青岛大学 一种一对多的信息无线传输方法
CN105974838A (zh) * 2016-05-10 2016-09-28 镇江恒驰科技有限公司 一种快速响应9s12x系列单片机程序跑飞的方法
CN106126360B (zh) * 2016-06-28 2020-08-25 海信视像科技股份有限公司 地址空洞屏蔽方法及装置
CN109086193B (zh) * 2017-06-13 2022-01-21 阿里巴巴集团控股有限公司 监控方法、装置及***
CN110874301B (zh) * 2018-08-30 2022-09-13 腾讯科技(深圳)有限公司 程序卡顿信息的获取方法和装置
CN109783311A (zh) * 2018-12-14 2019-05-21 平安普惠企业管理有限公司 断点行为的监控处理方法、装置、设备及可读存储介质
CN110046097B (zh) * 2019-04-01 2022-04-29 深圳震有科技股份有限公司 一种定位内存非法改写的方法、***及存储介质
CN112416695B (zh) * 2019-08-20 2023-03-28 北京东土科技股份有限公司 一种全局变量监控方法、装置、设备及存储介质
CN110781075B (zh) * 2019-09-19 2022-08-30 深圳震有科技股份有限公司 一种内存泄漏的检测方法、装置、***及存储介质
CN115080252B (zh) * 2022-08-23 2022-11-08 智者四海(北京)技术有限公司 iOS平台中基于无锁的非法内存访问检测方法和装置
CN117724985B (zh) * 2024-02-08 2024-04-30 此芯科技(武汉)有限公司 一种内存访问行为监控方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191881A (ja) * 1993-12-27 1995-07-28 Nec Corp 実時間メモリ監視方式
US5729716A (en) * 1993-12-09 1998-03-17 Pitney Bowes Inc. Memory monitoring circuit for detecting unauthorized memory access
CN1286429A (zh) * 1999-11-20 2001-03-07 深圳市中兴通讯股份有限公司 一种嵌入处理机内存的检测和监控方法
JP2004252589A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd デバッグサポート装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729716A (en) * 1993-12-09 1998-03-17 Pitney Bowes Inc. Memory monitoring circuit for detecting unauthorized memory access
JPH07191881A (ja) * 1993-12-27 1995-07-28 Nec Corp 実時間メモリ監視方式
CN1286429A (zh) * 1999-11-20 2001-03-07 深圳市中兴通讯股份有限公司 一种嵌入处理机内存的检测和监控方法
JP2004252589A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd デバッグサポート装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142885A (zh) * 2013-05-09 2014-11-12 百度在线网络技术(北京)有限公司 一种用于对被测程序进行异常测试的方法和装置
CN104142885B (zh) * 2013-05-09 2019-01-11 百度在线网络技术(北京)有限公司 一种用于对被测程序进行异常测试的方法和装置

Also Published As

Publication number Publication date
CN1885275A (zh) 2006-12-27

Similar Documents

Publication Publication Date Title
CN100375060C (zh) 一种嵌入式***及其实时内存监控处理方法
CN103399812B (zh) 基于Xen硬件虚拟化的磁盘文件操作监控***及监控方法
JP4518564B2 (ja) 不正コード実行の防止方法、不正コード実行の防止用プログラム、及び不正コード実行の防止用プログラムの記録媒体
CN102346708B (zh) 一种调试器及其调试方法
CN109583200B (zh) 一种基于动态污点传播的程序异常分析方法
CN102663312B (zh) 一种基于虚拟机的rop攻击检测方法及***
CN101561775B (zh) 内存监控方法和装置
KR101519845B1 (ko) 안티디버깅 방법
CN101887393B (zh) 基于半虚拟化技术的设备故障复现方法及***
Levin Mac OS X and iOS internals: to the apple's core
CN104598823A (zh) 一种安卓***中内核级rootkit检测方法及其***
CN101872323A (zh) 一种基于虚拟机的故障注入测试方法
CN105184166A (zh) 基于内核的安卓程序实时行为分析方法及***
CN107450964B (zh) 一种用于发现虚拟机自省***中是否存在漏洞的方法
US7765526B2 (en) Management of watchpoints in debuggers
CN101046765A (zh) 一种定位软件故障的方法
CN102651062A (zh) 基于虚拟机架构的恶意行为跟踪***和方法
CN104380264A (zh) 运行时间检测报告
CN104364769A (zh) 处理器特性的运行时间检测监控
CN105630659A (zh) 应用崩溃日志的获取方法及装置
CN104715202A (zh) 一种虚拟机中的隐藏进程检测方法和装置
CN100432955C (zh) 一种非法内存读写的检测方法
CN102141955B (zh) 一种基于Linux的内核日志***及实现方法
CN109582542B (zh) 一种嵌入式***核心转储的方法
CN101237350B (zh) 用于多任务环境单板机的全局变量异常改写定位方法

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
ASS Succession or assignment of patent right

Owner name: BEIJING YUANXIN TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20141103

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 100176 DAXING, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20141103

Address after: 408, -27, room 100176, building 8, building 1, Bei Sheng North Street, Beijing economic and Technological Development Zone, Beijing, China

Patentee after: BEIJING YUANXIN TECHNOLOGY CO., LTD.

Address before: 518057 Nanshan District, Guangdong high tech Industrial Park, science and Technology Industrial Park, ZTE building, block A, layer 6, layer

Patentee before: ZTE Corporation

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: BEIJING YUANXIN TECHNOLOGY CO., LTD.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: BEIJING YUANXIN TECHNOLOGY CO., LTD.

Document name: Notification of Termination of Patent Right

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: 20080312

Termination date: 20170620