CN114328090A - 一种程序监控方法、装置、电子设备及存储介质 - Google Patents

一种程序监控方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114328090A
CN114328090A CN202111544629.9A CN202111544629A CN114328090A CN 114328090 A CN114328090 A CN 114328090A CN 202111544629 A CN202111544629 A CN 202111544629A CN 114328090 A CN114328090 A CN 114328090A
Authority
CN
China
Prior art keywords
monitored
programming interface
program
monitoring module
virtual machine
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.)
Pending
Application number
CN202111544629.9A
Other languages
English (en)
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.)
Antiy Technology Group Co Ltd
Original Assignee
Antiy Technology Group 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 Antiy Technology Group Co Ltd filed Critical Antiy Technology Group Co Ltd
Priority to CN202111544629.9A priority Critical patent/CN114328090A/zh
Publication of CN114328090A publication Critical patent/CN114328090A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种程序监控方法、装置、电子设备及存储介质,该方法包括:确定当前操作系统中至少一个待监控编程接口;获取每一待监控编程接口对应的调用配置信息;解析每一调用配置信息的到每一待监控编程接口对应的解析结果;根据解析结果,得到每一待监控编程接口对应的目标监控模块;将每一目标监控模块与对应的待监控编程接口建立关联关系。本公开提供的程序监控方法,能够自动获取调用配置信息,并完成解析。从而根据解析结果得到目标监控模块,使得目标监控模块中的参数信息能够与对应的待监控编程接口的调用配置信息吻合。避免了需要发开人员,针对每一个监控需求,单独从零开始进行监控函数的编写,降低了工作量提高了工作效率。

Description

一种程序监控方法、装置、电子设备及存储介质
技术领域
本发明涉及程序监控领域,尤其涉及一种程序监控方法、装置、电子设备及存储介质。
背景技术
在系统监控中,往往需要对操作系统的API下钩子(关联监控函数),而这往往需要开发人员手动修改汇编指令,已完成对监控函数的修改,从而对使得监控函数能够对对应的API进行监控。在监控过之后,需要恢复或跳回原API进行正常调用,而且还分为调用前挂钩和调用后挂钩,这种往往需要编写复杂的代码进行精准的操作,稍有不慎就会造成系统崩溃,而且每次对新的API下钩子都要重新将以上步骤再次来一遍,这样开发人员的编程工作量特别大。
发明内容
有鉴于此,本发明提供一种程序监控方法、装置、电子设备及存储介质,至少部分解决现有技术中存在的问题。
根据本公开的一个方面,提供一种程序监控方法,包括:
确定当前操作系统中至少一个待监控编程接口;
获取每一所述待监控编程接口对应的调用配置信息;
解析每一所述调用配置信息的到每一所述待监控编程接口对应的解析结果;
根据所述解析结果,对原始监控模块进行配置,以得到每一所述待监控编程接口对应的目标监控模块;
将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系。
在本公开的一种示例性实施例中,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之前,所述方法还包括:
获取待监控程序的运行信息;
根据所述运行信息,确定所述待监控程序的线程数量;
为每一所述线程建立对应的虚拟机;
建立每一所述虚拟机与其对应的线程的关联关系;
所述虚拟机用于控制对应的线程所关联的所述目标监控模块的运行。
在本公开的一种示例性实施例中,所述建立每一所述虚拟机与其对应的线程的关联关系,包括:
确定每一所述线程对应的堆栈;
将所述虚拟机对应的虚拟指针嵌入所述堆栈,以使所述线程与所述虚拟机建立关联关系。
在本公开的一种示例性实施例中,在所述建立每一所述虚拟机与其对应的线程的关联关系之后,所述方法还包括:
确定与每一虚拟机对应的寄存器;所述寄存器内数据能够被对应虚拟机进行修改,所述寄存器的数据用于表征对应的目标监控模块的工作状态;
所述虚拟机根据所述寄存器内的数据,控制对应线程所关联的目标监控模块的运行。
在本公开的一种示例性实施例中,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之前,所述方法还包括:
对待监控程序对应的运行环境进行快照。
在本公开的一种示例性实施例中,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之后,所述方法还包括:
在所述待监控程序的监控任务完成后,根据所述快照,对所述待监控程序对应的运行环境进行还原。
在本公开的一种示例性实施例中,所述确定当前操作系统中至少一个待监控编程接口,包括:
获取待监控程序的功能信息;
根据所述功能信息确定出当前操作系统中至少一个待监控编程接口。
根据本公开的一个方面,提供一种程序监控装置,包括:
确定模块,用于确定当前操作系统中至少一个待监控编程接口;
获取模块,用于获取每一所述待监控编程接口对应的调用配置信息;
解析模块,用于解析每一所述调用配置信息的到每一所述待监控编程接口对应的解析结果;
配置模块,用于根据所述解析结果,对原始监控模块进行配置,以得到每一所述待监控编程接口对应的目标监控模块;
关联模块,用于将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系。
根据本公开的一个方面,提供一种电子设备,包括处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行上述任一项所述方法的步骤。
根据本公开的一个方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行上述任一项所述方法的步骤。
本公开提供的一种程序监控方法,在确定出当前操作系统中需要被监控的待监控编程接口后。能够自动获取待监控编程接口在系统设置文件中的调用配置信息,并完成对调用配置信息的解析。从而根据解析结果对原始监控模块进行配置得到目标监控模块,使得目标监控模块中的参数信息能够与对应的待监控编程接口的调用配置信息吻合。这样就避免了需要发开人员,针对每一个监控需求,单独从零开始进行监控函数的编写,降低了工作量提高了工作效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本实施例提供的一种程序监控方法的流程图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
根据本公开的一个方面,根据图1所示,本实施例提供一种程序监控方法,包括以下步骤:
步骤S100,确定当前操作系统中至少一个待监控编程接口;
步骤S200,获取每一所述待监控编程接口对应的调用配置信息;
步骤S300,解析每一所述调用配置信息的到每一所述待监控编程接口对应的解析结果;
步骤S400,根据所述解析结果,对原始监控模块进行配置,以得到每一所述待监控编程接口对应的目标监控模块;
步骤S500,将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系。
本实施例在应用过程中,可以以一个可执行程序的形式存在。该可执行程序内部可以包括多个功能模块,已完成上述后后述的对应步骤或功能。例如,获取每一所述待监控编程接口对应的调用配置信息的步骤,可以通过劫持模块或脚本解释器等功能模块,直接对当前操作系统的数据进行劫持,以获取到API系统调用配置信息。
调用配置信息是由当前操作系统决定的,其规定的是调用相应的API所需要执行的规则。而在不同的操作系统中,其调用配置信息的表述方式也存在较大的差异。故而在一般情况下,都需要开发人员自己去进行解析和对监控函数的编写。
本实施例中,步骤S300可直接通过脚本解释器等功能模块进行完成。其中,脚本解释器中设置有多种解析规则,在不同的解析规则中,对调用配置信息中相同的字符或特殊符号可能会存在不同的解析结果。故而,本实施例中,脚本解释器在获取到调用配置信息后,会先将调用配置信息与自身的解析规则进行匹配,根据匹配结果选取对应的解析规则对调用配置信息进行解析。还可以直接获取当前操作系统的系统版本号或其他能够表征操作系统版本的信息,根据当前操作的版本选取对应的解析规则从而对调用配置信息进行解析。
原始监控模块其可以为一个封装好的可调整函数,其内部具有实现基本的监控功能所需的代码指令等。其中,还设置了多个可调节的参数节点,可通过对这些参数节点的设置或调整,使得原始监控模块变为和不同待监控编程接口对应的目标监控模块。实际实施中,脚本解释器可通过解析结果,对原始监控模块中的参数进行设置或调整,以得到对应的目标监控模块。
本实施例提供的一种程序监控方法,在确定出当前操作系统中需要被监控的待监控编程接口后。能够自动获取待监控编程接口在系统设置文件中的调用配置信息,并完成对调用配置信息的解析。从而根据解析结果对原始监控模块进行配置得到目标监控模块,使得目标监控模块中的参数信息能够与对应的待监控编程接口的调用配置信息吻合。这样就避免了需要发开人员,针对每一个监控需求,单独从零开始进行监控函数的编写,降低了工作量提高了工作效率。
在本公开的一种示例性实施例中,所述步骤S100,具体包括以下步骤:
步骤S110,获取待监控程序的功能信息;
步骤S120,根据所述功能信息确定出当前操作系统中至少一个待监控编程接口。
其中,功能信息指代待监控程序内部的配置文件。可以直接从待监控程序的本地文件中获取。本实施例中,根据功能信息确定待监控程序在运行过程中,会调用哪些编程接口,从而将这些编程接口确定为待监控编程接口。同时,由于部分软件程序中,一些接口调用操作的不会直接体现在配置文件中,或一些恶意代码更是会对其调用接口的操作进行伪装。故而,本实施例中,会对待监控程序的具体实际功能进行分析,通过内部存储的功能对应表,来确定不同功能可能会调用那些编程接口,从而将这些编程接口确定为待监控编程接口。进一步的,还可以通过总结现有的恶意程序对编程接口的调用情况,确定出一些容易被恶意程序调用的常见编程接口,或符合一些设定规则的编程接口,在每一软件程序的监控过程中,均将这些编程接口也统一确定为待监控编程接口。
当然,在其他实施例中,还可以通过接收用户(开发人员)输入的指令,将用户指定的编程接口确定为待监控编程接口。
在本公开的一种示例性实施例中,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之前,所述方法还包括:
获取待监控程序的运行信息;
根据所述运行信息,确定所述待监控程序的线程数量;
为每一所述线程建立对应的虚拟机;
建立每一所述虚拟机与其对应的线程的关联关系;
所述虚拟机用于控制对应的线程所关联的所述目标监控模块的运行。
在软件程序的运行过程中,可能会存在多个并行或串行的线程。每一线程都会调用至少一个编程接口,同时可能还会出现同一线程的同一操作会嵌套式的调用多个编程接口。也可能会存在多个线程之间相互调用的情况。故而,开发人员在进行监控时,需要根据这些调用逻辑,适应性的调整每一监控函数,这样,开发人员的工作量就会极其的大。而本实施例中,为每一线程设置对应的虚拟机,用于管理每一线程中的目标监控模块。这样,开发人员就可直接通过对虚拟机的控制,从而管理每一目标监控函数的运行规则。而不需要开发人员额外对监控函数进行调整。
在本公开的一种示例性实施例中,所述建立每一所述虚拟机与其对应的线程的关联关系,包括:
确定每一所述线程对应的堆栈;
将所述虚拟机对应的虚拟指针嵌入所述堆栈,以使所述线程与所述虚拟机建立关联关系。
本实施例中,会直接对每一线程对应的堆栈进行修改,将堆栈底部替换为虚拟机对应的指针,以建立线程与虚拟机之间的关联关系,使得线程在调用待监控编程接口时,首先进入到虚拟机的控制下。虚拟机控制对应线程进入目标函数的领空内,使其后续的动作能够被目标监控模块获取并记录。
在本公开的一种示例性实施例中,在所述建立每一所述虚拟机与其对应的线程的关联关系之后,所述方法还包括:
确定与每一虚拟机对应的寄存器;所述寄存器内数据能够被对应虚拟机进行修改,所述寄存器的数据用于表征对应的目标监控模块的工作状态;
所述虚拟机根据所述寄存器内的数据,控制对应线程所关联的目标监控模块的运行。
由于线程在调用编程接口时,可能会存在编程接口嵌套的情况下,比如由于第一个API进入目标监控模块的监控后,在执行过程中又调用了第二个API,此时,若第二个API也设置了相应的目标监控模块的话,会使得第二个API对应的目标监控函数也被调用了。但是这样的会使得目标监控模块进入死循环的相互调用中,从而导致运行崩溃等情况发生。本实施例中,为每一虚拟机单独设置了一个寄存器,该寄存器记录其对应的虚拟机所监控的线程调用的目标监控模块的运行状态(其中记录的状态可以以标记或相关数据来表征)。这样,在线程调用新的待监控编程接口时,虚拟机可以通过查看寄存器的状态,判断当前是否处于其他目标监控模块的监控中,若处于,则阻止新的待监控编程接口所关联的目标监控模块的调用。这样就避免了进入嵌套式调用的死循环中。
在本公开的一种示例性实施例中,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之前,所述方法还包括:
对待监控程序对应的运行环境进行快照。
在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之后,所述方法还包括:
在所述待监控程序的监控任务完成后,根据所述快照,对所述待监控程序对应的运行环境进行还原。
在对目标监控模块和虚拟机与待监控程序进行关联时,需要对待监控环境对应的运行环境进行修改,以让待监控程序在受控的状态下运行。在现有的方法中,都是开发人员根据之前的监控函数的设置,反向对运行环境进行还原。但由于监控函数的数量往往都是数量很大的,这样,一方面开发人员的还原工作量会很大,另一方面很容易出现部分数据未还原的情况发生。
本实施例中,可以通过虚拟机对运行环境进行快照,已记录当前的运行环境(即没被修改前的运行环境),并进行存储(快照内容至少包括运行环境中堆栈、寄存器极其内部的数据)。只有在完成快照后,才会对运行环境进行修改。并在监控任务完成后,根据之前作出的快照,对运行环境进行自动还原,避免出现部分数据未还原的情况发生,同时也大大降低了开发人员的工作量。
根据本公开的一个方面,提供一种程序监控装置,包括:
确定模块,用于确定当前操作系统中至少一个待监控编程接口;
获取模块,用于获取每一所述待监控编程接口对应的调用配置信息;
解析模块,用于解析每一所述调用配置信息的到每一所述待监控编程接口对应的解析结果;
配置模块,用于根据所述解析结果,对原始监控模块进行配置,以得到每一所述待监控编程接口对应的目标监控模块;
关联模块,用于将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
根据本发明的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种程序监控方法,其特征在于,包括:
确定当前操作系统中至少一个待监控编程接口;
获取每一所述待监控编程接口对应的调用配置信息;
解析每一所述调用配置信息的到每一所述待监控编程接口对应的解析结果;
根据所述解析结果,对原始监控模块进行配置,以得到每一所述待监控编程接口对应的目标监控模块;
将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系。
2.根据权利要求1所述的程序监控方法,其特征在于,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之前,所述方法还包括:
获取待监控程序的运行信息;
根据所述运行信息,确定所述待监控程序的线程数量;
为每一所述线程建立对应的虚拟机;
建立每一所述虚拟机与其对应的线程的关联关系;
所述虚拟机用于控制对应的线程所关联的所述目标监控模块的运行。
3.根据权利要求2所述的程序监控方法,其特征在于,所述建立每一所述虚拟机与其对应的线程的关联关系,包括:
确定每一所述线程对应的堆栈;
将所述虚拟机对应的虚拟指针嵌入所述堆栈,以使所述线程与所述虚拟机建立关联关系。
4.根据权利要求2所述的程序监控方法,其特征在于,在所述建立每一所述虚拟机与其对应的线程的关联关系之后,所述方法还包括:
确定与每一虚拟机对应的寄存器;所述寄存器内数据能够被对应虚拟机进行修改,所述寄存器的数据用于表征对应的目标监控模块的工作状态;
所述虚拟机根据所述寄存器内的数据,控制对应线程所关联的目标监控模块的运行。
5.根据权利要求1所述的程序监控方法,其特征在于,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之前,所述方法还包括:
对待监控程序对应的运行环境进行快照。
6.根据权利要求5所述的程序监控方法,其特征在于,在所述将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系之后,所述方法还包括:
在所述待监控程序的监控任务完成后,根据所述快照,对所述待监控程序对应的运行环境进行还原。
7.根据权利要求1所述的程序监控方法,其特征在于,所述确定当前操作系统中至少一个待监控编程接口,包括:
获取待监控程序的功能信息;
根据所述功能信息确定出当前操作系统中至少一个待监控编程接口。
8.一种程序监控装置,其特征在于,包括:
确定模块,用于确定当前操作系统中至少一个待监控编程接口;
获取模块,用于获取每一所述待监控编程接口对应的调用配置信息;
解析模块,用于解析每一所述调用配置信息的到每一所述待监控编程接口对应的解析结果;
配置模块,用于根据所述解析结果,对原始监控模块进行配置,以得到每一所述待监控编程接口对应的目标监控模块;
关联模块,用于将每一所述目标监控模块与对应的所述待监控编程接口建立关联关系。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述方法的步骤。
CN202111544629.9A 2021-12-16 2021-12-16 一种程序监控方法、装置、电子设备及存储介质 Pending CN114328090A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111544629.9A CN114328090A (zh) 2021-12-16 2021-12-16 一种程序监控方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111544629.9A CN114328090A (zh) 2021-12-16 2021-12-16 一种程序监控方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114328090A true CN114328090A (zh) 2022-04-12

Family

ID=81052713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111544629.9A Pending CN114328090A (zh) 2021-12-16 2021-12-16 一种程序监控方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114328090A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116361668A (zh) * 2023-06-02 2023-06-30 北京安天网络安全技术有限公司 一种多个sdr设备的监控方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116361668A (zh) * 2023-06-02 2023-06-30 北京安天网络安全技术有限公司 一种多个sdr设备的监控方法、装置、设备及介质
CN116361668B (zh) * 2023-06-02 2023-08-11 北京安天网络安全技术有限公司 一种多个sdr设备的监控方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US6041425A (en) Error recovery method and apparatus in a computer system
CN110457211B (zh) 脚本性能测试方法、装置和设备及计算机存储介质
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
US8990372B2 (en) Operation managing device and operation management method
EP3591485B1 (en) Method and device for monitoring for equipment failure
US9355002B2 (en) Capturing trace information using annotated trace output
CN107045475B (zh) 测试方法和装置
EP2915047A1 (en) System and method for debugging domain specific languages
CN110673936B (zh) 编排业务的断点续作方法、装置、存储介质及电子设备
US20140067886A1 (en) Information processing apparatus, method of outputting log, and recording medium
CN110427258A (zh) 基于云平台的资源调度控制方法及装置
CN110659210A (zh) 一种信息获取方法、装置、电子设备及存储介质
US20100312541A1 (en) Program test device and program
CN114328090A (zh) 一种程序监控方法、装置、电子设备及存储介质
US8904412B2 (en) Dynamic performance data collection in large computer servers
CN110045952B (zh) 代码调用方法与装置
CN113778849A (zh) 用于测试代码的方法、装置、设备以及存储介质
CN111258618A (zh) 文件配置方法、装置、计算机设备和存储介质
CN116051031A (zh) 项目调度系统、介质及电子设备
CN110837467A (zh) 软件测试方法、装置以及系统
US20180373512A1 (en) Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal
EP2721494B1 (en) System and method to in-line script dependencies
CN115080382A (zh) 一种代码测试方法、装置、设备及介质
CN114546839A (zh) 冗余代码分析方法、装置、电子设备、存储介质及产品
CN113760307A (zh) 获取应用代码的差异化覆盖率的方法和装置

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