异常线程定位方法及装置制造方法及图纸

技术编号:21477004 阅读:18 留言:0更新日期:2019-06-29 04:41
本发明专利技术实施例提供一种异常线程定位方法及装置,应用于嵌入式设备。所述方法包括:根据所述嵌入式设备中各线程的线程标识以轮询的方式获得对应线程的运行状态参数,其中所述运行状态参数包括对应线程的线程状态及心跳参数中的至少一种;根据获得的各线程的运行状态参数判断对应线程的状态是否异常;在线程的状态被判定为异常时,对异常状态的线程进行定位并将定位后的线程的栈帧信息保存到日志文件中。所述异常线程定位方法的定位效率高,能够自行地对嵌入式设备中的异常线程进行精准定位,降低软件开发人员的工作量。

【技术实现步骤摘要】
异常线程定位方法及装置
本专利技术涉及嵌入式设备
,具体而言,涉及一种异常线程定位方法及装置。
技术介绍
随着物联网技术和网络技术的不断发展,嵌入式设备的应用越发普及。而对嵌入式设备而言,一旦设备的线程运行出现异常,设备将不能正常运行。目前,在嵌入式设备出现线程异常时,需要软件开发人员通过外部调试工具对嵌入式设备进行现场调试的方式获取到设备中每个线程的栈帧信息后,并对各栈帧信息进行人工分析后才能实现对异常线程的定位。这种异常线程定位方案的定位效率不高,软件开发人员工作量大,线程定位精准度不高。
技术实现思路
为了克服现有技术中的上述不足,本专利技术的目的在于提供一种异常线程定位方法及装置,所述异常线程定位方法的定位效率高,能够自行地对嵌入式设备中的异常线程进行精准定位,降低软件开发人员的工作量。就方法而言,本专利技术较佳的实施例提供一种异常线程定位方法,应用于嵌入式设备,所述方法包括:根据所述嵌入式设备中各线程的线程标识以轮询的方式获得对应线程的运行状态参数,其中所述运行状态参数包括对应线程的线程状态及心跳参数中的至少一种;根据获得的各线程的运行状态参数判断对应线程的状态是否异常;在线程的状态被判定为异常时,对异常状态的线程进行定位,并将定位后的线程的栈帧信息保存到日志文件中。就装置而言,本专利技术较佳的实施例提供一种异常线程定位装置,应用于嵌入式设备,所述装置包括:参数获取模块,用于根据所述嵌入式设备中各线程的线程标识以轮询的方式获得对应线程的运行状态参数,其中所述运行状态参数包括对应线程的线程状态及心跳参数中的至少一种;异常判断模块,用于根据获得的各线程的运行状态参数判断对应线程的状态是否异常;线程定位模块,用于在线程的状态被判定为异常时,对异常状态的线程进行定位,并将定位后的线程的栈帧信息保存到日志文件中。相对于现有技术而言,本专利技术较佳的实施例提供的异常线程定位方法及装置具有以下有益效果:所述异常线程定位方法的定位效率高,能够自行地对嵌入式设备中的异常线程进行精准定位,降低软件开发人员的工作量。首先,所述方法通过自行地根据所述嵌入式设备中各线程的线程标识以轮询的方式获得各线程的运行状态参数;接着,所述方法根据获得的各线程的运行状态参数判断对应线程的状态是否异常;最后,所述方法在线程的状态被判定为异常时,对异常状态的线程进行定位,并将定位后的线程的栈帧信息保存到日志文件中,从而在极短的时间内完成对异常线程的精准定位,使软件开发人员在需要获取所述嵌入式设备中异常线程的栈帧信息时,可通过直接查阅所述日志文件的方式,获取到对应需要的异常线程的栈帧信息,无需保留嵌入式设备的现场异常环境,降低软件开发人员的工作量。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举本专利技术较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对本专利技术权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术较佳的实施例提供的嵌入式设备的一种方框示意图。图2为本专利技术较佳的实施例提供的异常线程定位方法的一种方框示意图。图3为图2中所示的步骤S220包括的子步骤的第一种流程示意图。图4为图2中所示的步骤S220包括的子步骤的第二种流程示意图。图5为图2中所示的步骤S220包括的子步骤的第三种流程示意图。图6为图2中所示的步骤S230包括的子步骤的一种流程示意图。图7为本专利技术较佳的实施例提供的图1中所示的异常线程定位装置的一种方框示意图。图标:10-嵌入式设备;11-存储器;12-处理器;13-通信单元;100-异常线程定位装置;110-参数获取模块;120-异常判断模块;130-线程定位模块。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本专利技术的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。如何提供一种定位效率高的,能够自行地对嵌入式设备中的异常线程进行精准定位以降低软件开发人员的工作量的异常线程定位方法及装置,对本领域技术人员而言,是急需解决的技术问题。下面结合附图,对本专利技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。请参照图1,是本专利技术较佳的实施例提供的嵌入式设备10的一种方框示意图。在本专利技术实施例中,所述嵌入式设备10上运行有至少一个线程,所述嵌入式设备10可自行地对所述至少一个线程中可能存在的异常线程进行精准定位,以降低所述嵌入式设备10的软件开发人员的工作量。其中所述嵌入式设备10可以是,但不限于,基于Linux系统的监控设备、平板电脑、个人数字助理(PersonalDigitalAssistant,PDA)、移动上网设备(MobileInternetDevice,MID)等。可选地,所述嵌入式设备10为监控设备。在本实施例中,所述嵌入式设备10包括异常线程定位装置100、存储器11、处理器12及通信单元13。所述存储器11、处理器12及通信单元13各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。其中,所述存储器11可用于存储所述嵌入式设备10上运行的至少一个线程对应的程序代码,所述存储器11可以是,但不限于,快闪存储器(FlashMemory),可擦除可编程只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM),电子可擦除可编程只读存储器(ElectricErasableProgrammableRead-OnlyMemory,EEPROM)等。所述处理器12可以是一种具有信号的处理能力的集成电路芯片。所述处理器12可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。所述处理器12可以实现或者执行本专利技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。其中,所述嵌入式设备10上运行的所述至少一个线程由所述处理器12执行。所述通信单本文档来自技高网...

【技术保护点】
1.一种异常线程定位方法,其特征在于,应用于嵌入式设备,所述方法包括:根据所述嵌入式设备中各线程的线程标识以轮询的方式获得对应线程的运行状态参数,其中所述运行状态参数包括对应线程的线程状态及心跳参数中的至少一种;根据获得的各线程的运行状态参数判断对应线程的状态是否异常;在线程的状态被判定为异常时,对异常状态的线程进行定位,并将定位后的线程的栈帧信息保存到日志文件中。

【技术特征摘要】
1.一种异常线程定位方法,其特征在于,应用于嵌入式设备,所述方法包括:根据所述嵌入式设备中各线程的线程标识以轮询的方式获得对应线程的运行状态参数,其中所述运行状态参数包括对应线程的线程状态及心跳参数中的至少一种;根据获得的各线程的运行状态参数判断对应线程的状态是否异常;在线程的状态被判定为异常时,对异常状态的线程进行定位,并将定位后的线程的栈帧信息保存到日志文件中。2.根据权利要求1所述的方法,其特征在于,当所述运行状态参数包括对应线程的心跳参数,所述心跳参数包括对应线程当前的线程心跳值及对应线程在上次轮询时的线程心跳值时,所述根据获得的各线程的运行状态参数判断对应线程的状态是否异常的步骤包括:将各线程当前的线程心跳值及对应线程在上次轮询时的线程心跳值进行比较;若存在线程当前的线程心跳值与上次轮询时的线程心跳值相同时,判定该线程的状态为异常。3.根据权利要求1所述的方法,其特征在于,当所述运行状态参数包括对应线程的线程状态,所述线程状态包括运行状态、休眠状态及异常状态时,所述根据获得的各线程的运行状态参数判断对应线程的状态是否异常的步骤包括:对各线程的线程状态进行识别;若对应线程的线程状态为异常状态时,判定该线程的状态为异常。4.根据权利要求3所述的方法,其特征在于,当所述运行状态参数还包括对应线程的心跳参数,所述心跳参数包括对应线程当前的线程心跳值及对应线程在上次轮询时的线程心跳值时,所述根据获得的各线程的运行状态参数判断对应线程的状态是否异常的步骤还包括:若对应线程的线程状态为运行状态时,将所述线程当前的线程心跳值与上次轮询时的线程心跳值进行比较,并在相同时判定该线程的状态为异常,相应修改该线程的线程状态为异常状态。5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述对异常状态的线程进行定位,并将定位后的线程的栈帧信息保存到日志文件中的步骤包括:根据所述异常状态的线程的线程标识向对应线程发送定位信号以获取该线程的栈帧信息,其中所述栈帧信息包括对应线程的返回地址、局部变量及栈帧地址中的至少一种;将获取到的所述异常状态的线程的栈帧信息记录到日志文件中进行保存。6.一种异常线程定位装置,其特征在于,应用于嵌入式设...

【专利技术属性】
技术研发人员:蔡正平
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江,33

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

1