当前位置: 首页 > 专利查询>清华大学专利>正文

基于内核的双重错误调试方法及系统技术方案

技术编号:8532708 阅读:156 留言:0更新日期:2013-04-04 15:39
本发明专利技术提出一种基于内核的双重错误调试方法及系统。其中,方法包括以下步骤:对用户的任务进行处理;检测到对用户任务进行处理的过程中发生双重错误;通过任务门从用户任务中切换到异常处理任务中并对双重错误进行处理获得出现双重错误时的运行状态;根据运行状态对内核进行调试。根据本发明专利技术实施例的方法,通过异常处理任务获得出现双重错误时的运行状态,并对双重任务的内核进行调试处理,提高了系统的可靠性。

【技术实现步骤摘要】

本专利技术涉及计算机及电子信息
,特别涉及一种基于内核的双重错误调试方法及系统
技术介绍
双重错误是处理器异常的一种,具体是指在处理器异常处理例程中又检测到发生了另外的异常。通常情况下,处理器会顺序处理这两个异常,但是这两个异常不能顺序处理时,处理器就会产生“双重错误”。处理器检测到中断或异常时一般有两种处理方式。一种是通过中断门或陷阱门跳转到中断处理例程进行处理;另一种是通过任务门切换到另一个任务(称为“异常处理任务”)进行处理。对于前一种方法需要将当前任务的状态进行压栈,不进行任务切换;对于后一种方法需要进行任务切换,但不会影响前一个任务的内核栈。双重错误是比较严重的一种异常,具体是指在处理器异常处理例程中又检测到发生了另外的异常。通常情况下处理器会顺序处理这两个异常。但是,当这两个异常不能顺序处理时,处理器就会产生“双重错误”。一个任务在发生双重错误后,有可能会导致出错任务的内核栈溢出,不能进行压栈,因此通常采用切换任务的方法进行处理。在Linux内核中,当发生双重错误时,异常处理任务仅仅打印各个寄存器信息,对于出错任务的内核栈信息并没有输出,这对于精确定位出错任务的本文档来自技高网...

【技术保护点】
一种基于内核的双重错误调试方法,其特征在于,包括以下步骤:S1:对用户的任务进行处理;S2:检测到对所述用户任务进行处理的过程中发生双重错误;S3:通过任务门从所述用户任务中切换到异常处理任务中并对所述双重错误进行处理获得出现双重错误时的运行状态;S4:根据所述运行状态对内核进行调试。

【技术特征摘要】
1.一种基于内核的双重错误调试方法,其特征在于,包括以下步骤 S1:对用户的任务进行处理; 52:检测到对所述用户任务进行处理的过程中发生双重错误; 53:通过任务门从所述用户任务中切换到异常处理任务中并对所述双重错误进行处理获得出现双重错误时的运行状态; 54:根据所述运行状态对内核进行调试。2.如权利要求1所述的基于内核的双重错误调试方法,其特征在于,所述步骤S3具体包括 531:所述异常处理任务将用户任务的页表中添加映射使内核访问所述用户任务内核栈;以及 532:根据所述用户任务内核栈获得出现双重错误时的运行状态。3.如权利要求1或2所述的基于内核的双重错误调试方法,其特征在于,所述用户任务和所述异常处理任务包括页表和内核栈。4.一种基于内核的...

【专利技术属性】
技术研发人员:王瑀屏郭旭峰
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1