CN107391358B - 一种异常数据处理方法和系统 - Google Patents

一种异常数据处理方法和系统 Download PDF

Info

Publication number
CN107391358B
CN107391358B CN201610327690.0A CN201610327690A CN107391358B CN 107391358 B CN107391358 B CN 107391358B CN 201610327690 A CN201610327690 A CN 201610327690A CN 107391358 B CN107391358 B CN 107391358B
Authority
CN
China
Prior art keywords
software
exception
execution
program
instruction address
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.)
Active
Application number
CN201610327690.0A
Other languages
English (en)
Other versions
CN107391358A (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.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
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 Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN201610327690.0A priority Critical patent/CN107391358B/zh
Publication of CN107391358A publication Critical patent/CN107391358A/zh
Application granted granted Critical
Publication of CN107391358B publication Critical patent/CN107391358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种异常数据处理方法和系统,其中,所述方法包括:对软件的执行过程进行检测;在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;根据保存的所述局部变量对软件执行异常的原因进行分析和处理。通过本发明解决了现有技术对异常问题难以准确定位,问题复现困难的问题。

Description

一种异常数据处理方法和系统
技术领域
本发明涉及通信技术领域,特别是涉及一种异常数据处理方法和系统。
背景技术
TD-LTE(Time Division Long Term Evolution,分时长期演进)基站系统本质上是一种嵌入式产品。嵌入式软件的开发调试从时间上分为两个阶段:开发阶段和产品交付阶段。在第一个阶段,可以通过仿真器等调试手段获取芯片的全部信息。第二个阶段,只能通过告警日志、内存镜像日志等手段分析。对于嵌入式产品来说,第二个阶段的时间长度远超第一个阶段,因此这个阶段问题分析手段的易用性、可靠性更加重要。
目前,针对上述第二个阶段的可能出现的异常问题的分析通常是基于告警日志、内存镜像等方式来实现。然而,基于告警日志或内存镜像等方式实现的对异常问题的分析存在诸多限制:1、由于无线传输环境的恶劣、TD-LTE通信协议的复杂,由一些错误参数引起的问题需要大量信息才能定位,而告警日志容量有限,问题现场又转瞬即逝,定位信息往往不足;2、内存镜像文件虽然可以依地址顺序记录全局变量和堆栈,但由于记录量大,受存储器尺寸限制不能多次记录,同时通用寄存器没有地址映射,无法用高级语言访问,也就无法获取存放在通用寄存器的局部变量。
可见,目前采用的针对异常问题分析的方案存在的问题是:难以准确定位问题,问题复现困难;而且需要开发测试版本,往往一次无法定位,需多次提供测试版本缩小问题范围,分析过程耗时长,便捷性差;进一步地,由于复现问题往往要用保留问题现场的破坏性版本,严重影响移动通信用户体验。
发明内容
本发明提供一种异常数据处理方法和系统,以解决现有技术难以准确定位问题,问题复现困难,分析过程耗时长,便捷性差,以及用户体验差的问题。
为了解决上述问题,本发明公开了一种异常数据处理方法,包括:
对软件的执行过程进行检测;
在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;
根据保存的所述局部变量对软件执行异常的原因进行分析和处理。
相应地,本发明还公开一种异常数据处理系统,包括:
检测模块,用于对软件的执行过程进行检测;
获取保存模块,用于在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;
分析模块,用于根据保存的所述局部变量对软件执行异常的原因进行分析和处理。
与现有技术相比,本发明包括以下优点:
本发明所述的一种异常数据处理方案,可以对软件的执行过程进行检测;在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;根据保存的所述局部变量对软件执行异常的原因进行分析和处理。可见,在本发明中,可以在发现软件执行异常时及时获取并异常时刻通用寄存器内的局部变量,进而根据保存的所述局部变量实现对软件执行异常的原因的分析和处理,快速并准确的实现对异常问题的定位,无需开发测试版本,无需进行破坏性的问题复现,增强了TD-LTE基站系统的稳定性,简化了对异常问题复现的流程,降低分析过程的耗时,由于可以快速实现对异常问题的分析和处理,异常发生后可以尽早实现板卡复位,快速恢复业务,进而减少了在对异常问题进行分析过程中给用户通信带来的影响,提高了用户体验。
附图说明
图1是本发明实施例一中一种异常数据处理方法的步骤流程图;
图2是本发明实施例二中一种异常数据处理方法的步骤流程图;
图3是本发明实施例三中一种在软件程序异常时异常数据处理方法的步骤流程图;
图4是本发明实施例三中一种在芯片硬件异常时异常数据处理方法的步骤流程图;
图5是本发明实施例四中一种异常数据处理系统的结构框图;
图6是本发明实施例四中一种优选的异常数据处理系统的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一中一种异常数据处理方法的步骤流程图。在本实施例中,所述异常数据处理方法包括:
步骤102,对软件的执行过程进行检测。
在TD-LTE基站系统中,软件对基带数据的处理多通过DSP(Digital SignalProcessor,数字信号处理器)实现,在本实施例中,可以对软件的执行过程进行实时检测,及时发现软件在执行过程中的异常。
步骤104,在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量。
一般地,软件在执行过程中的各个时刻的局部变量都会保存在通用寄存器中,也即,在软件执行过程中通用寄存器中的数据是随时变化的,故,在本实施例中,在检测到软件执行异常时,可以获取并保存异常时刻通用寄存器内的局部变量,所述获取保存的异常时刻通用寄存器内的局部变量可以用于后续对软件执行异常的原因进行分析。其中,所述通用寄存器包括但不仅限于:数据寄存器、地址寄存器、程序计数器、堆栈指针和状态寄存器等。
步骤106,根据保存的所述局部变量对软件执行异常的原因进行分析和处理。
如前所述,所述获取并保存的局部变量为软件执行异常时刻所述通用寄存器内的数据,因此,根据所述获取并保存的局部变量可以对软件执行异常的原因进行分析和处理。
综上所述,本实施例所述的一种异常数据处理方法,可以对软件的执行过程进行检测;在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;根据保存的所述局部变量对软件执行异常的原因进行分析和处理。可见,在本实施例中,可以在发现软件执行异常时及时获取并异常时刻通用寄存器内的局部变量,进而根据保存的所述局部变量实现对软件执行异常的原因的分析和处理,快速并准确的实现对异常问题的定位,无需开发测试版本,无需进行破坏性的问题复现,增强了TD-LTE基站系统的稳定性,简化了对异常问题复现的流程,降低分析过程的耗时,由于可以快速实现对异常问题的分析和处理,异常发生后可以尽早实现板卡复位,快速恢复业务,进而减少了在对异常问题进行分析过程中给用户通信带来的影响,提高了用户体验。
实施例二
参照图2,示出了本发明实施例二中一种异常数据处理方法的步骤流程图。在本实施例中,所述异常数据处理方法包括:
步骤202,对软件的执行过程进行检测。
步骤204,在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量。
在本实施例中,可以但不仅限于将软件执行异常分为两类:与无线协议处理流程相关的软件程序异常和与芯片硬件运行相关的芯片硬件异常。
在软件程序异常时,所述步骤204具体可以包括:
子步骤2042,在检测到软件执行异常为软件程序异常时,通过程序计数器中的第一指令地址跳转执行第一中断程序,暂停软件的当前执行,。
PC(Program Counter,程序计数器)是用于存放下一条指令所在单元的地址的地方。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。在本实施例中,所述第一指令地址用于指示跳转执行所述第一中断程序,故,可以根据所述第一指令地址跳转至第一中断程序的执行。
子步骤2044,获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
在芯片硬件异常时,所述步骤204具体可以包括:
子步骤2046,在检测到软件执行异常为芯片硬件异常时,通过程序计数器中的第二指令地址跳转执行第二中断程序,暂停软件的当前执行,。
在本实施例中,所述第二指令地址用于指示跳转执行所述第二中断程序。
子步骤2048,获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
步骤206,根据保存的所述局部变量对软件执行异常的原因进行分析和处理。
在本实施例中,可以将保存的局部变量记录到内存镜像文件中,根据所述内存镜像中记录的局部变量可以恢复所有的通用寄存器,然后,结合消除故障debug信息(如,非法地址、访问者信息、访问类型和位宽等)可以复原软件执行异常时的运行状态,进而对软件执行异常的原因进行分析和处理。其中,具体实现方式可以如下:
子步骤2062,将保存的所述局部变量记录到内存镜像文件中。
子步骤2064,根据所述内存镜像文件中记录的局部变量恢复所述通用寄存器。
子步骤2066,根据恢复的所述通用寄存器和消除故障debug信息,恢复所述异常时刻所述软件的运行状态。子步骤2068,根据恢复的所述异常时刻所述软件的运行状态,对所述软件执行异常的原因进行分析和处理。
需要说明的是,在本实施例中,在软件程序异常时,可以通过如下步骤恢复软件的进行执行:
步骤208,保存所述程序计数器中的第一指令地址;
步骤210,在所述将将获取的局部变量以全局结构体数据变量形式保存在寄存器中之后,确定所述第一指令地址的下一指令地址;
步骤212,根据所述下一指令地址,恢复所述软件的执行。
在本实施例中,在从第一中断程序返回软件的继续执行时,要返回进入第一中断程序时PC指令地址的下一指令地址,防止再次进入第一中断程序,陷入死循环。
在芯片硬件异常时,则可以通过如下步骤结束软件的执行:
步骤214,结束所述第二中断程序,使所述软件进入死循环,以结束所述软件的继续执行。
综上所述,本实施例所述的一种异常数据处理方法,可以对软件的执行过程进行检测;在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;根据保存的所述局部变量对软件执行异常的原因进行分析和处理。可见,在本实施例中,可以在发现软件执行异常时及时获取并异常时刻通用寄存器内的局部变量,进而根据保存的所述局部变量实现对软件执行异常的原因的分析和处理,快速并准确的实现对异常问题的定位,无需开发测试版本,无需进行破坏性的问题复现,增强了TD-LTE基站系统的稳定性,简化了对异常问题复现的流程,降低分析过程的耗时,由于可以快速实现对异常问题的分析和处理,异常发生后可以尽早实现板卡复位,快速恢复业务,进而减少了在对异常问题进行分析过程中给用户通信带来的影响,提高了用户体验。
此外,本实施例所述的方法可以实现在不同的异常状态下,进入对应的中断程序,例如,在软件程序异常时,可以进入第一中断程序,在中断处理过程中记录全部通用寄存器内的局部变量,进而可以完全恢复中断前的程序运行现场,不但有利于问题离线分析,也可以尽快复位板卡,增强了TD-LTE基站系统的稳定性。
实施例三
结合上述实施例,本实施例通过一个具体实例对所述异常数据处理方法进行详细说明。在本实施例中,分别以软件程序异常和芯片硬件异常两种情况对所述异常数据处理方法进行说明。
一、软件程序异常
参照图3,示出了本发明实施例三中一种在软件程序异常时异常数据处理方法的步骤流程图。在本实施例中,在软件程序异常时,所述异常数据处理方法具体可以包括:
步骤302,对软件的执行过程进行检测。
步骤304,检测到软件执行异常为软件程序异常。
步骤306,执行第一中断程序,暂停软件的当前执行。
步骤308,获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
步骤310,从第一中断程序返回,软件继续执行。
在本实施例中,软件程序异常可以视为一般错误,在对异常数据进行记录之后,可以继续软件的执行,因此,可以以数组形式记录多个软件程序异常时的多次异常数据。
二、芯片程序异常
参照图4,示出了本发明实施例三中一种在芯片硬件异常时异常数据处理方法的步骤流程图。在本实施例中,在芯片硬件异常时,所述异常数据处理方法具体可以包括:
步骤402,对软件的执行过程进行检测。
步骤404,检测到软件执行异常为芯片硬件异常。
步骤406,执行第二中断程序,暂停软件的当前执行。
步骤408,获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
步骤410,关闭第二中断程序,所述软件进入死循环,以结束所述软件的继续执行。
在本实施例中,芯片硬件异常可以视为重大错误,在跳转执行第二中断程序后,软件的执行过程将被接收,因此,只需要记录一次异常数据。
综上所述,本实施例所述的一种异常数据处理方法,可以对软件的执行过程进行检测;在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;根据保存的所述局部变量对软件执行异常的原因进行分析和处理。可见,在本实施例中,可以在发现软件执行异常时及时获取并异常时刻通用寄存器内的局部变量,进而根据保存的所述局部变量实现对软件执行异常的原因的分析和处理,快速并准确的实现对异常问题的定位,无需开发测试版本,无需进行破坏性的问题复现,增强了TD-LTE基站系统的稳定性,简化了对异常问题复现的流程,降低分析过程的耗时,由于可以快速实现对异常问题的分析和处理,异常发生后可以尽早实现板卡复位,快速恢复业务,进而减少了在对异常问题进行分析过程中给用户通信带来的影响,提高了用户体验。
此外,本实施例所述的方法可以实现在不同的异常状态下,进入对应的中断程序,例如,在软件程序异常时,可以进入第一中断程序,在中断处理过程中记录全部通用寄存器内的局部变量,进而可以完全恢复中断前的程序运行现场,不但有利于问题离线分析,也可以尽快复位板卡,增强了TD-LTE基站系统的稳定性。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
实施例四
基于与上述方法实施例同一发明构思,参照图5,示出了本发明实施例四中一种异常数据处理系统的结构框图。在本实施例中,所述异常数据处理系统包括:
检测模块502,用于对软件的执行过程进行检测。
获取保存模块504,用于在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量。
分析模块506,用于根据保存的所述局部变量对软件执行异常的原因进行分析和处理。
在本实施例的一优选方案中,参照图6,示出了本发明实施例四中一种优选的异常数据处理系统的结构框图。
优选的,所述获取保存模块504具体可以包括:第一暂停子模块5042,用于在检测到软件执行异常为软件程序异常时,通过程序计数器中的第一指令地址跳转执行第一中断程序,暂停软件的当前执行;其中,所述第一指令地址用于指示跳转执行所述第一中断程序;第一获取保存子模块5044,用于获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
另一优选的,所述获取保存模块504具体可以包括:第二暂停子模块5046,用于在检测到软件执行异常为芯片硬件异常时,通过程序计数器中的第二指令地址跳转执行第二中断程序,暂停软件的当前执行;其中,所述第二指令地址用于指示跳转执行所述第二中断程序;第二获取保存子模块5048,用于获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
优选的,所述分析模块506具体可以包括:记录子模块5062,用于将保存的所述局部变量记录到内存镜像文件中;第一恢复子模块5064,用于根据所述内存镜像文件中记录的局部变量恢复所述通用寄存器;第二恢复模块5066,用于根据恢复的所述通用寄存器和消除故障debug信息,恢复所述异常时刻所述软件的运行状态;分析子模块5068,用于根据恢复的所述异常时刻所述软件的运行状态,对所述软件执行异常的原因进行分析和处理。
优选的,所述异常数据处理系统还可以包括:
指令地址保存模块508,用于在检测到软件执行异常为软件程序异常时,保存所述程序计数器中的第一指令地址。
指令地址确定模块510,用于在所述将将获取的局部变量以全局结构体数据变量形式保存在寄存器中之后,确定所述第一指令地址的下一指令地址。
恢复模块512,用于根据所述下一指令地址,恢复所述软件的执行。
优选的,所述异常数据处理系统还可以包括:
结束模块514,用于结束所述第二中断程序,使所述软件进入死循环,以结束所述软件的继续执行。
综上所述,本实施例所述的一种异常数据处理系统,可以对软件的执行过程进行检测;在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;根据保存的所述局部变量对软件执行异常的原因进行分析和处理。可见,在本实施例中,可以在发现软件执行异常时及时获取并异常时刻通用寄存器内的局部变量,进而根据保存的所述局部变量实现对软件执行异常的原因的分析和处理,快速并准确的实现对异常问题的定位,无需开发测试版本,无需进行破坏性的问题复现,增强了TD-LTE基站系统的稳定性,简化了对异常问题复现的流程,降低分析过程的耗时,由于可以快速实现对异常问题的分析和处理,异常发生后可以尽早实现板卡复位,快速恢复业务,进而减少了在对异常问题进行分析过程中给用户通信带来的影响,提高了用户体验。
此外,本实施例所述的系统可以实现在不同的异常状态下,进入对应的中断程序,例如,在软件程序异常时,可以进入第一中断程序,在中断处理过程中记录全部通用寄存器内的局部变量,进而可以完全恢复中断前的程序运行现场,不但有利于问题离线分析,也可以尽快复位板卡,增强了TD-LTE基站系统的稳定性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种异常数据处理方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种异常数据处理方法,其特征在于,包括:
对软件的执行过程进行检测;
在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;所述软件执行异常包括:软件程序异常和芯片硬件异常;
其中,当软件执行异常为软件程序异常时,对异常数据进行记录之后,继续软件的执行;当软件执行异常为芯片程序异常时,对异常数据进行记录之后,软件的执行过程被接收;
根据保存的所述局部变量对软件执行异常的原因进行分析和处理;
所述根据保存的所述局部变量对软件执行异常的原因进行分析和处理,包括:
将保存的所述局部变量记录到内存镜像文件中;
根据所述内存镜像文件中记录的局部变量恢复所述通用寄存器;
根据恢复的所述通用寄存器和消除故障debug信息,恢复所述异常时刻所述软件的运行状态;
根据恢复的所述异常时刻所述软件的运行状态,对所述软件执行异常的原因进行分析和处理。
2.根据权利要求1所述的方法,所述在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量,包括:
在检测到软件执行异常为软件程序异常时,通过程序计数器中的第一指令地址跳转执行第一中断程序,暂停软件的当前执行;其中,所述第一指令地址用于指示跳转执行所述第一中断程序;
获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
3.根据权利要求2所述的方法,其特征在于,在检测到软件执行异常为软件程序异常时,所述方法还包括:
保存所述程序计数器中的第一指令地址;
在所述将获取的局部变量以全局结构体数据变量形式保存在寄存器中之后,确定所述第一指令地址的下一指令地址;
根据所述下一指令地址,恢复所述软件的执行。
4.根据权利要求1所述的方法,其特征在于,所述在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量,包括:
在检测到软件执行异常为芯片硬件异常时,通过程序计数器中的第二指令地址跳转执行第二中断程序,暂停软件的当前执行;其中,所述第二指令地址用于指示跳转执行所述第二中断程序;
获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
5.根据权利要求4所述的方法,其特征在于,还包括:
结束所述第二中断程序,使所述软件进入死循环,以结束所述软件的继续执行。
6.一种异常数据处理系统,其特征在于,包括:
检测模块,用于对软件的执行过程进行检测;
获取保存模块,用于在检测到软件执行异常时,获取异常时刻通用寄存器内的局部变量,并保存所述局部变量;
分析模块,用于根据保存的所述局部变量对软件执行异常的原因进行分析和处理;
所述软件执行异常包括:软件程序异常和芯片硬件异常;当软件执行异常为软件程序异常时,对异常数据进行记录之后,继续软件的执行;当软件执行异常为芯片程序异常时,对异常数据进行记录之后,软件的执行过程被接收;
所述分析模块,包括:
记录子模块,用于将保存的所述局部变量记录到内存镜像文件中;
第一恢复子模块,用于根据所述内存镜像文件中记录的局部变量恢复所述通用寄存器;
第二恢复模块,用于根据恢复的所述通用寄存器和消除故障debug信息,恢复所述异常时刻所述软件的运行状态;
分析子模块,用于根据恢复的所述异常时刻所述软件的运行状态,对所述软件执行异常的原因进行分析和处理。
7.根据权利要求6所述的系统,所述获取保模块,包括:
第一暂停子模块,用于在检测到软件执行异常为软件程序异常时,通过程序计数器中的第一指令地址跳转执行第一中断程序,暂停软件的当前执行;其中,所述第一指令地址用于指示跳转执行所述第一中断程序;
第一获取保存子模块,用于获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
8.根据权利要求7所述的系统,其特征在于,还包括:
指令地址保存模块,用于在检测到软件执行异常为软件程序异常时,保存所述程序计数器中的第一指令地址;
指令地址确定模块,用于在所述将获取的局部变量以全局结构体数据变量形式保存在寄存器中之后,确定所述第一指令地址的下一指令地址;
恢复模块,用于根据所述下一指令地址,恢复所述软件的执行。
9.根据权利要求6所述的系统,其特征在于,所述获取保存模块,包括:
第二暂停子模块,用于在检测到软件执行异常为芯片硬件异常时,通过程序计数器中的第二指令地址跳转执行第二中断程序,暂停软件的当前执行;其中,所述第二指令地址用于指示跳转执行所述第二中断程序;
第二获取保存子模块,用于获取异常时刻通用寄存器内的局部变量,将获取的局部变量以全局结构体数据变量形式保存在寄存器中。
10.根据权利要求9所述的系统,其特征在于,还包括:
结束模块,用于结束所述第二中断程序,使所述软件进入死循环,以结束所述软件的继续执行。
CN201610327690.0A 2016-05-17 2016-05-17 一种异常数据处理方法和系统 Active CN107391358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610327690.0A CN107391358B (zh) 2016-05-17 2016-05-17 一种异常数据处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610327690.0A CN107391358B (zh) 2016-05-17 2016-05-17 一种异常数据处理方法和系统

Publications (2)

Publication Number Publication Date
CN107391358A CN107391358A (zh) 2017-11-24
CN107391358B true CN107391358B (zh) 2020-08-28

Family

ID=60338481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610327690.0A Active CN107391358B (zh) 2016-05-17 2016-05-17 一种异常数据处理方法和系统

Country Status (1)

Country Link
CN (1) CN107391358B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055213B2 (en) 2019-11-06 2021-07-06 International Business Machines Corporation Facilitating localization of code defect

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593147A (zh) * 2009-04-15 2009-12-02 卡斯柯信号有限公司 基于符号文件的异常信息转储方法
CN101645033A (zh) * 2009-05-15 2010-02-10 上海闻泰电子科技有限公司 一种手机软件异常时的调试方法
CN102779094A (zh) * 2012-08-21 2012-11-14 深圳中兴网信科技有限公司 终端和软件异常测试方法
CN103186461A (zh) * 2011-12-30 2013-07-03 重庆重邮信科通信技术有限公司 一种现场数据的保存方法和恢复方法以及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593147A (zh) * 2009-04-15 2009-12-02 卡斯柯信号有限公司 基于符号文件的异常信息转储方法
CN101645033A (zh) * 2009-05-15 2010-02-10 上海闻泰电子科技有限公司 一种手机软件异常时的调试方法
CN103186461A (zh) * 2011-12-30 2013-07-03 重庆重邮信科通信技术有限公司 一种现场数据的保存方法和恢复方法以及相关装置
CN102779094A (zh) * 2012-08-21 2012-11-14 深圳中兴网信科技有限公司 终端和软件异常测试方法

Also Published As

Publication number Publication date
CN107391358A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
CN105843741B (zh) 应用程序的信息处理方法和装置
US8769504B2 (en) Method and apparatus for dynamically instrumenting a program
US8839203B2 (en) Code coverage-based taint perimeter detection
US9235497B2 (en) Method and system for detecting concurrency programming errors in kernel modules and device drivers
CN108874470B (zh) 一种信息处理方法及服务器、计算机存储介质
US20070079288A1 (en) System and method for capturing filtered execution history of executable program code
CN103246566A (zh) 应用程序的资源监控方法及装置
US20200143061A1 (en) Method and apparatus for tracking location of input data that causes binary vulnerability
US20080307397A1 (en) Program Analysis by Partial Emulation
CN110990842A (zh) 一种小概率事件的复现方法、装置、存储介质及电子设备
WO2019184597A1 (zh) 函数选取方法和服务器
CN110688173B (zh) 一种跨平台界面框架中组件的定位方法、装置及电子设备
CN115686961A (zh) 处理器测试方法、装置及电子设备
CN109299012A (zh) 一种测试方法、装置及电子设备
CN107391358B (zh) 一种异常数据处理方法和系统
KR20200082422A (ko) 보안성을 고려한 경량 크래시 리포트 기반 디버깅 방법
CN103425576A (zh) 信息反馈的方法及终端
US7415560B2 (en) Method of automatically monitoring computer system debugging routine
WO2008146984A1 (en) Power measurement system using etm interface and method thereof
CN110704686B (zh) 半结构化数据的质量检测方法、装置、存储介质及设备
KR101505258B1 (ko) 프로브리스 트레이스 캡처를 갖는 아키텍처 실행의 재생
CN106095631B (zh) 一种基于有限状态机实现的多周期非流水线cpu动态调试方法
CN115756935A (zh) 嵌入式软件系统的异常故障定位方法、装置及设备
US11734475B2 (en) Performance measurement methodology for co-simulation

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