检测点设置方法、中断测试方法及电子设备与流程

文档序号:36905288发布日期:2024-02-02 21:35阅读:14来源:国知局
检测点设置方法、中断测试方法及电子设备与流程

本发明涉及操作系统领域,尤其涉及一种检测点设置方法、中断测试方法及电子设备。


背景技术:

1、在操作系统内核中的相关代码运行过程中,可能会出现异常或者其它的问题,从而导致执行结果不符合预期。为了定位问题原因,通常需要在相关内核代码中插入检测点。通过检测点可以获取相关变量的值、函数的返回值、寄存器状态等信息,基于这些信息进行分析可以定位问题原因。

2、与此同时,如何快速地设置检测点,提高问题定位的效率是技术人员关注的问题。


技术实现思路

1、本技术实施例公开了一种检测点设置方法、中断测试方法及电子设备,可以提高检测点的设置效率以及异常定位效率。

2、第一方面公开一种检测点设置方法,该检测点设置方法可以应用于第二设备,也可以应用于第二设备中的模块(例如,芯片、中央处理器等),还可以应用于能实现全部或部分第二设备功能的逻辑模块或软件。下面以应用于第二设备为例进行描述。该检测点设置方法可以包括:接收检测点信息,该检测点信息包括一个或多个检测点的标识;基于该一个或多个检测点的标识生成内核模块文件,该内核模块文件包括该一个或多个检测点;向目标服务器发送该内核模块文件,该内核模块文件用于将该一个或多个检测点插入该目标服务器的内核源码。

3、本技术实施例中,可以基于内核源码预先定义好检测点,之后,当第二设备接收到检测点信息时,第二设备可以直接基于检测点信息中包括的一个或多个检测点的标识生成对应的内核模块文件。然后,第二设备可以将向目标服务器发送该内核模块文件,该内核模块文件可以用于将该一个或多个检测点插入目标服务器的内核源码。可见,这种方式下,由于提前预定义好了对应的检测点,因此,在需要向目标服务器的内核源码中添加检测点时,只需要向第二设备发送需要添加的检测点的标识即可,这样,可以简化检测点的添加流程,提高检测点的设置效率,从而可以提高异常定位效率。

4、作为一种可能的实现方式,该基于该一个或多个检测点的标识生成内核模块文件包括:基于该一个或多个检测点的标识获取该一个或多个检测点对应的补丁文件;基于该一个或多个检测点对应的补丁文件生成内核模块文件。

5、本技术实施例中,针对每一个预定义的检测点,可以编写有对应的补丁文件,因此,第二设备可以直接通过该一个或多个检测点的标识获取该一个或多个检测点对应的补丁文件,然后可以基于补丁文件生成对应的内核模块文件,这样可以保证生成的内核模块文件的准确性。

6、作为一种可能的实现方式,该检测点信息还包括检测类型,该方法还包括:基于该检测类型获取一个或多个全局检测点对应的补丁文件,该全局检测点用于发送该检测类型对应的uevent事件;该基于该一个或多个检测点对应的补丁文件生成内核模块文件包括:基于该一个或多个检测点对应的补丁文件和该一个或多个全局检测点对应的补丁文件生成内核模块文件。

7、本技术实施例中,可以定义有检测类型,不同的检测类型对应不同的场景,每种检测类型下均可以定义有对应的检测点,并且每种检测类型均可以包括对应的全局检测点。因此,第二设备在生成内核模块文件之前,可以先确定检测点信息中包括的检测类型,然后可以获取该检测类型对应的一个或多个全局检测点的补丁文件,然后可以基于该一个或多个检测点对应的补丁文件和该一个或多个全局检测点对应的补丁文件生成内核模块文件。这样,可以保证添加的检测点的完整性,并且可以保证对应检测类型的内核流程执行时可以发送该检测类型对应的uevent事件,以告知用户空间相应的信息,并进行进一步的处理。

8、作为一种可能的实现方式,该方法还包括:向该目标服务器发送与该内核模块文件对应的udev规则文件和日志收集工具;该udev规则文件用于该目标服务器在捕获到该一个或多个全局检测点发送的uevent事件时,调用该日志收集工具;该日志收集工具用于将该一个或多个检测点收集的信息发送至该第二设备。

9、本技术实施例中,针对于每种检测类型的检测点,还可以预先配置有对应的udev规则文件和日志收集工具,第二设备可以向目标服务器发送与该内核模块文件对应的udev规则文件和日志收集工具,以便于目标服务器可以捕获对应检测类型的全局检测点发送的uevent事件,以及在捕获到对应的uevent事件时,调用对应的日志收集工具将该一个或多个检测点收集的信息发送至第二设备。并且,通过特定的uevent事件去触发日志收集工具,可以节约目标服务器的处理资源。

10、作为一种可能的实现方式,该方法还包括:接收来自该目标服务器的该一个或多个检测点收集的信息;在出现异常的情况下,基于该一个或多个检测点收集的信息确定目标异常原因。

11、本技术实施例中,第二设备可以接收到插入目标服务器的内核源码中的检测点收集的信息,并且,可以在相关检测类型的内核处理过程中出现异常时,自动基于这些收集的信息进行分析,确定目标异常原因,可以提高异常定位的效率。

12、作为一种可能的实现方式,在该检测类型为热插拔检测的情况下,该一个或多个全局检测点发送的uevent事件包括触发动作,该基于该一个或多个检测点收集的信息确定目标异常原因包括:基于该全局检测点发送的uevent事件中的触发动作从异常原因表中筛选出第一目标元组;该异常原因表包括多个元组,该多个元组中的每个元组包括起始检测点、结束检测点、热插拔触发动作、异常原因;从该第一目标元组中筛选出结束检测点在最后一个正常执行的检测点之后,且起始检测点等于该最后一个正常执行的检测点的元组,得到第二目标元组;该最后一个正常执行的检测点为该一个或多个检测点中的一个检测点;从该第二目标元组中筛选出起始检测点和结束检测点均为该一个或多个检测点中的检测点对应的元组,得到第三目标元组;将该第三目标元组中的异常原因确定为目标异常原因。

13、本技术实施例中,针对于各种检测类型,可以预先配置有对应的异常原因表,第二设备可以基于插入到目标服务器的内核源码中的检测点收集的信息、检测点的执行状态等从异常原因表中筛选出可能的异常原因,可以极大地提高异常定位的效率,帮助用户排查异常。

14、作为一种可能的实现方式,该检测点信息还包括目标服务器的标识,该向目标服务器发送该内核模块文件包括:基于该目标服务器的标识向该目标服务器发送该内核模块文件。

15、本技术实施例中,检测点信息中还可以包括目标服务器的标识,这样可以将对应的检测点插入到特定的服务器的内核源码中,可以灵活地为不同的服务器进行检测点的设置。

16、作为一种可能的实现方式,该方法还包括:接收来自该目标服务器的该一个或多个检测点收集的信息;基于该一个或多个检测点收集的信息进行分析,得到分析结果;向第一设备发送该分析结果。

17、本技术实施例中,可以基于目标服务器返回的检测点收集的信息进行分析,可以得到对应的分析结果,然后可以向第一设备返回对应的分析结果。可见,本技术提供了从检测点设置到检测点分析的完整流程,极大地减少了人工操作。在需要进行内核相关测试、异常分析时,用户可以快速的设置检测点,并可以基于设置的检测点得到对应的分析结果,可以提高用户体验。

18、第二方面公开一种中断测试方法,该中断测试方法可以应用于第二设备,也可以应用于第二设备中的模块(例如,芯片、中央处理器等),还可以应用于能实现全部或部分第二设备功能的逻辑模块或软件。下面以应用于第二设备为例进行描述。该中断测试方法可以包括:接收检测点信息,该检测点信息包括一个或多个检测点的标识;基于该一个或多个检测点的标识生成内核模块文件,该内核模块文件包括该一个或多个检测点;向目标服务器发送该内核模块文件,该内核模块文件用于将该一个或多个检测点插入该目标服务器的内核源码;接收来自该目标服务器的该一个或多个检测点收集的信息;在出现异常的情况下,基于该一个或多个检测点收集的信息确定目标异常原因。

19、本技术实施例中,可以基于内核源码预先定义好检测点,之后,当第二设备接收到检测点信息时,第二设备可以直接基于检测点信息中包括的一个或多个检测点的标识生成对应的内核模块文件。然后,第二设备可以将向目标服务器发送该内核模块文件,该内核模块文件可以用于将该一个或多个检测点插入目标服务器的内核源码。之后,第二设备可以接收来自目标服务器的该一个或多个检测点收集的信息。并且,在出现异常的情况下,第二设备可以基于该一个或多个检测点收集的信息确定目标异常原因。可见,这种方式下,在需要向目标服务器的内核源码中添加检测点时,只需要向第二设备发送需要添加的检测点的标识即可,并且,可以基于添加的检测点自动分析异常原因,这样,可以极大地提高异常定位效率。

20、作为一种可能的实现方式,该检测点信息还包括检测类型,该检测类型对应有一个或多个全局检测点,该一个或多个全局检测点用于发送该检测类型对应的uevent事件;在该检测类型为热插拔检测的情况下,该一个或多个全局检测点发送的uevent事件包括触发动作,该基于该一个或多个检测点收集的信息确定目标异常原因包括:基于该全局检测点发送的uevent事件中的触发动作从异常原因表中筛选出第一目标元组;该异常原因表包括多个元组,该多个元组中的每个元组包括起始检测点、结束检测点、热插拔触发动作、异常原因;从该第一目标元组中筛选出结束检测点在最后一个正常执行的检测点之后,且起始检测点等于该最后一个正常执行的检测点的元组,得到第二目标元组;该最后一个正常执行的检测点为该一个或多个检测点中的一个检测点;从该第二目标元组中筛选出起始检测点和结束检测点均为该一个或多个检测点中的检测点对应的元组,得到第三目标元组;将该第三目标元组中的异常原因确定为目标异常原因。

21、作为一种可能的实现方式,该基于该一个或多个检测点的标识生成内核模块文件包括:基于该一个或多个检测点的标识获取该一个或多个检测点对应的补丁文件;基于该一个或多个检测点对应的补丁文件生成内核模块文件。

22、作为一种可能的实现方式,该检测点信息还包括检测类型,该方法还包括:基于该检测类型获取一个或多个全局检测点对应的补丁文件,该全局检测点用于发送该检测类型对应的uevent事件;该基于该一个或多个检测点对应的补丁文件生成内核模块文件包括:基于该一个或多个检测点对应的补丁文件和该一个或多个全局检测点对应的补丁文件生成内核模块文件。

23、作为一种可能的实现方式,该方法还包括:向该目标服务器发送与该内核模块文件对应的udev规则文件和日志收集工具;该udev规则文件用于该目标服务器在捕获到该一个或多个全局检测点发送的uevent事件时,调用该日志收集工具;该日志收集工具用于将该一个或多个检测点收集的信息发送至该第二设备。

24、作为一种可能的实现方式,该检测点信息还包括目标服务器的标识,该向目标服务器发送该内核模块文件包括:基于该目标服务器的标识向该目标服务器发送该内核模块文件。

25、第三方面公开一种检测点设置方法,该检测点设置方法可以应用于第一设备,也可以应用于第一设备中的模块(例如,芯片、中央处理器等),还可以应用于能实现全部或部分第一设备功能的逻辑模块或软件。下面以应用于第一设备为例进行描述。该检测点设置方法可以包括:显示第一界面,该第一界面包括检测点配置表单,该检测点配置表单用于用户进行检测点配置,该检测点配置表单包括多个检测点选项;接收该用户对该配置表单的第一输入操作;基于该第一输入操作向第二设备发送检测点信息,该检测点信息包括该用户选择的一个或多个检测点的标识。

26、本技术实施例中,可以基于内核源码预先定义好检测点,第一设备可以显示包括检测点配置表单的用户界面,检测点配置表单可以包括预先定义的检测点对应的检测点选项,用户可以根据实际需求从中选择需要的检测点即可,如选择热插拔检测相关的检测点。之后,第一设备可以将用户选择的检测点的标识发送至第二设备,以便第二设备进行相应的处理,最终可以将用户选择的检测点插入该目标服务器的内核源码。可见,这种方式下,在需要向目标服务器的内核源码中添加检测点时,用户只需要在用户选择对应的检测点应用即可,可以简化检测点的添加流程,提高检测点的设置效率,从而可以提高异常定位效率。

27、作为一种可能的实现方式,该检测点配置表单还包括该多个检测点选项中每个检测点选项对应的提示信息。

28、本技术实施例中,针对于每一个检测点选项,用户界面中还可以显示有对应的提示信息,以便用户了解对应的检测点的作用,这样,可以帮助用户准确地选择自己需要的检测点,可以提高用户体验。

29、作为一种可能的实现方式,该第一界面还包括检测类型配置表单,该检测类型配置表单用于该用户进行检测类型配置,该检测类型配置表单包括多个检测类型选项;该检测点配置表单包括的检测点选项与该检测类型配置表单包括的检测类型选项对应。

30、本技术实施例中,第一界面还可以显示有检测类型配置表单,可以便于用户根据实际需要选择对应的检测类型。并且,当用户选择不同的检测类型时,检测点配置表单中包括的检测点可以不同,可以仅包括用户选择的检测类型对应的检测点,便于用户进行检测点的选择。

31、作为一种可能的实现方式,该一个或多个检测点对应的检测类型为热插拔检测,该方法还包括:接收来自该第二设备的分析结果;显示第二界面,该第二界面包括该分析结果,该分析结果基于该一个或多个检测点收集的数据分析得到,该分析结果包括热插拔结果,该热插拔结果为成功或失败,在该热插拔结果为失败的情况下,该分析结果还包括热插拔失败的具体原因。

32、本技术实施例中,当用户选择的检测点对应的检测类型为热插拔检测时,第一设备接收到的来自第二设备的分析结果可以包括热插拔结果,也即是热插拔是成功或失败等,并且在热插拔结果为失败的情况下,该分析结果还可以包括热插拔失败的具体原因,可以帮助用户快速定位热插拔问题,解决热插拔问题。

33、作为一种可能的实现方式,该方法还包括:接收来自第二设备的分析结果;显示第二界面,该第二界面包括该分析结果,该分析结果基于该一个或多个检测点收集的数据分析得到。

34、第四方面公开一种检测点设置方法,该检测点设置方法可以应用于目标服务器,也可以应用于目标服务器中的模块(例如,芯片、中央处理器等),还可以应用于能实现全部或部分目标服务器功能的逻辑模块或软件。下面以应用于目标服务器为例进行描述。该检测点设置方法可以包括:接收来自第二设备的内核模块文件,该内核模块文件包括用户选择的一个或多个检测点,该内核模块文件用于将用户选择的一个或多个检测点插入该目标服务器的内核源码;应用该内核模块文件;向该第二设备发送该一个或多个检测点收集的信息。

35、本技术实施例中,目标服务器可以接收来自第二设备的内核模块文件,并且可以应用内核模块文件,以将用户选择的一个或多个检测点插入该目标服务器的内核源码。之后,在内核相关处理过程执行时,可以执行插入的检测点,这些检测点可以执行定义的动作,如收集信息。之后,目标服务器可以将这些检测点收集的信息发送至第二设备,以便第二设备进行处理,如进行异常分析等。

36、作为一种可能的实现方式,该一个或多个检测点对应的检测类型为第一检测类型,该内核模块文件还包括该第一检测类型对应的一个或多个全局检测点,该一个或多个全局检测点用于发送该第一检测类型对应的uevent事件;该方法还包括:接收来自第二设备的与该内核模块文件对应的udev规则文件和日志收集工具;应用该udev规则文件,该udev规则文件用于该目标服务器在捕获到该一个或多个全局检测点发送的uevent事件时,调用该日志收集工具;该日志收集工具用于将该一个或多个检测点收集的信息发送至该第二设备。

37、第五方面公开一种第二设备,该第二设备包括处理器、存储器,该处理器调用该存储器中存储的计算机程序实现如上述第一方面以及第一方面中任一可能的实现方式中所提供的检测点设置方法,或者实现如上述第二方面以及第二方面中任一可能的实现方式中所提供的中断测试方法。

38、第六方面公开一种第一设备,该第一设备包括处理器、存储器,该处理器调用该存储器中存储的计算机程序实现如上述第三方面以及第三方面中任一可能的实现方式中所提供的检测点设置方法。

39、第七方面公开一种目标服务器,该目标服务器包括处理器、存储器,该处理器调用该存储器中存储的计算机程序实现如上述第四方面以及第四方面中任一可能的实现方式中所提供的检测点设置方法。

40、第八方面公开一种测试系统,该测试系统包括上述第五方面公开的第二设备、上述第六方面公开的第一设备和上述第七方面公开的目标服务器,或者该测试系统包括上述第五方面公开的第二设备和上述第七方面公开的目标服务器。

41、第九方面公开一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序或计算机指令,当该计算机程序或计算机指令运行时,实现如上述各方面公开的方法。

42、第十方面公开一种芯片,包括处理器,该处理器用于执行存储器中存储的计算机程序或计算机指令,当计算机程序或计算机指令被执行时,使得芯片执行上述各方面公开的方法。

43、作为一种可能的实施方式,存储器位于芯片之外。

44、第十一方面公开一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码被运行时,使得上述各方面公开的方法被执行。

45、应理解,本技术上述多个方面或者任一种可能的实施方式的实现和有益效果可互相参考。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1