CN103699485B - 应用程序调试方法和装置 - Google Patents
应用程序调试方法和装置 Download PDFInfo
- Publication number
- CN103699485B CN103699485B CN201310714540.1A CN201310714540A CN103699485B CN 103699485 B CN103699485 B CN 103699485B CN 201310714540 A CN201310714540 A CN 201310714540A CN 103699485 B CN103699485 B CN 103699485B
- Authority
- CN
- China
- Prior art keywords
- debugging
- event
- virtual machine
- target virtual
- interface
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种应用程序调试方法和装置。所述方法包括:通过调用调试接口与目标虚拟机建立连接,目标应用程序运行于所述目标虚拟机中;将调试事件请求注册至所述目标虚拟机,所述调试事件请求是根据所述目标应用程序中的关注点封装得到的;主动向所述目标虚拟机获取事件队列,以通过所述事件队列输出所述调试事件请求所对应的调试信息。所述装置包括连接模块、事件注册模块和处理模块。采用本发明能在没有源代码支持的情况下对应用程序进行调试。
Description
技术领域
本发明涉及程序调试技术,特别是涉及一种应用程序调试方法和装置。
背景技术
应用程序运行过程出现各种bug(漏洞)的情况时有发生,因此,常常需要一定的调试器对应用程序进行调试,以获知应用程序中存在的bug,进而对其进行不断的修复。
传统的调试器大都为界面化调试器,用于提供一些标准的调试功能,调试功能较为齐全,足够对应用程序完成各种调试。但是,在这些传统的调试器对应用程序进行调试的过程中必须有源代码的支持。
然而,当应用程序运行于某一远程环境中,因代码受控,是无法将代码发送到这一远程环境中的,因此,将造成了传统的调试器无法在没有源代码支持的情况下对应用程序进行调试。
发明内容
基于此,有必要针对传统的调试器无法在没有源代码支持的情况下对应用程序进行调试的技术问题,提供一种能在没有源代码支持的情况下对应用程序进行调试的应用程序调试方法。
此外,还有必要提供一种能在没有源代码支持的情况下对应用程序进行调试的应用程序调试装置。
一种应用程序调试方法,包括如下步骤:
通过调用调试接口与目标虚拟机建立连接,目标应用程序运行于所述目标虚拟机中;
将调试事件请求注册至所述目标虚拟机,所述调试事件请求是根据所述目标应用程序中的关注点封装得到的;
主动向所述目标虚拟机获取事件队列,以通过所述事件队列输出所述调试事件请求所对应的调试信息。
在其中一个实施例中,所述通过调用调试接口与目标虚拟机建立连接的步骤包括:
获取输入的目标虚拟机对应的地址和调试端口,以生成调试命令;
通过生成的调试命令触发调用调试接口与目标虚拟机建立连接。
在其中一个实施例中,所述将调试事件请求注册至所述目标虚拟机的步骤包括:
调用调试事件请求管理器,并通过所述调试事件请求管理器将预先封装的调试事件请求注册至所述目标虚拟机中。
在其中一个实施例中,所述主动向所述目标虚拟机获取事件队列,以通过所述事件队列输出所述调试事件请求所对应的调试信息的步骤之前,所述方法还包括:
所述目标虚拟机判断当前触发的事件是否与所述注册的事件契合,若是,则
将对应的事件实例放入所述事件队列。
在其中一个实施例中,所述主动向所述目标虚拟机获取事件队列,以通过所述事件队列输出所述调试事件请求所对应的调试信息的步骤包括:
通过所述调试接口调用事件队列接口,以通过所述事件队列接口得到事件队列,并从所述事件队列中取出所述调试事件请求对应的事件实例;
由所述事件实例得到调试信息,并输出所述调试信息。
一种应用程序调试装置,包括:
连接模块,用于通过调用调试接口与目标虚拟机建立连接,目标应用程序运行于所述目标虚拟机中;
事件注册模块,用于将调试事件请求注册至所述目标虚拟机,所述调试事件请求是根据所述目标应用程序中的关注点封装得到的;
处理模块,用于主动向所述目标虚拟机获取事件队列,以通过所述事件队列输出所述调试事件请求所对应的调试信息。
在其中一个实施例中,所述连接模块包括:
命令生成单元,用于获取输入的目标虚拟机对应的地址和调试端口,以生成调试命令;
连接建立单元,用于通过生成的调试命令触发调用调试接口与目标虚拟机建立连接。
在其中一个实施例中,所述事件注册模块还用于调用调试事件请求管理器,并通过调试事件请求管理器将预先封装的调试事件请求注册至所述目标虚拟机中。
在其中一个实施例中,所述目标虚拟机用于判断当前触发的事件是否与所述注册的事件契合,若是,则将所述对应的事件实例放入所述事件队列。
在其中一个实施例中,所述处理模块包括:
实例获取单元,用于通过所述调试接口调用事件队列接口,以通过所述事件队列接口得到事件队列,并从所述事件队列中取出调试事件请求对应的事件实例;
输出单元,用于由所述事件实例得到调试信息,并输出所述调试信息。
上述应用程序调试方法和装置,通过调用调试接口与目标虚拟机建立连接,该目标应用程序便运行于这一目标虚拟机中,并将调试事件请求注册至目标虚拟机,进而主动向目标虚拟机获取事件队列,以通过事件队列输出调试事件请求所对应的调试信息,并输出调试信息,由于调试事件请求是根据目标应用程序中的关注点封装得到的,因此在没有源代码支持的情况下实现了目标应用程序的调试。
附图说明
图1为一个实施例中应用程序调试方法的流程图;
图2为图1中通过调用调试接口与目标虚拟机建立连接的方法流程图;
图3为另一个实施例中应用程序调试方法的流程图;
图4为一个实施例中主动向目标虚拟机获取事件队列,以通过事件队列输出调试事件请求所对应的调试信息的方法流程图;
图5为一个实施例中应用程序调试方法的运行环境图;
图6为一个实施例中应用程序调试方法的时序图;
图7为一个实施例中应用程序调试装置的结构示意图;
图8为图6中连接模块的结构示意图;
图9为图6中处理模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,一种应用程序调试方法,包括:
步骤S110,通过调用调试接口与目标虚拟机建立连接。
本实施例中,目标应用程序即为运行于远端的远程环境中的各种待调试程序。调试接口是调试器对目标应用程序进行调试所定义的,即JDI(Java Debug Interface,Java调试接口)。
目标虚拟机为目标应用程序所在的运行环境,如,JVM(Java Virtual Machine,Java虚拟机)实例。具体的,目标应用程序被启动时,将随之产生JVM实例,将被启动的目标应用程序运行于产生的JVM实例中。
通过调用调试接口使得调试器与远端的目标虚拟机建立连接,使得调试器得以与远端的目标虚拟机进行通信,对目标应用程序进行调试。
步骤S130,将调试事件请求注册至目标虚拟机,该调试事件请求是根据目标应用程序中的关注点封装得到的。
本实施例中,调试事件请求将是根据目标应用程序中的关注点封装得到的JDI定义的、可识别的调试事件请求对象。其中,目标应用程序中存在着一个或者多个关注点,关注点即为清楚目标应用程序中的源代码结构的调试人员或开发人员为了定位特定的问题所需要查看的目标应用程序中的特定位置,例如,关注点可以是目标应用程序中java代码中某一个类的方法或者变量。
步骤S150,主动向目标虚拟机获取事件队列,以通过事件队列输出调试事件请求所对应的调试信息。
本实施例中,由于事件队列中的事件信息,即事件队列所存入的事件实例是调试器所关注的,因此,调试器将主动调用调试接口来进行事件队列的获取,进而从事件队列中取出事件实例,以输出调试信息。
进一步的,调试信息则是注册的调试事件请求所对应的事件被触发时目标虚拟机的状态信息,例如,注册的调试事件请求被触发时当前堆栈中的本地变量、调用堆栈信息。
例如,目标应用程序运行出错时,该目标应用程序的开发人员将通过产生的错误提示或程序日志等信息对照本地开发环境的源代码可判断得到出错原因将与目标应用程序中的一个java类A的第10行的变量有关,则该类A的第10行即为目标应用程序中的一个关注点。
当判断到目标虚拟机运行到该类A的第10行的指令时,说明目标虚拟机触发的事件与注册的调试事件请求相契合,此时,将与该类A的第10行的指令相关的当前堆栈中的本地变量以及调用堆栈信息等进行处理,进而向该目标应用程序的开发人员输出,以使得该目标应用程序的开发人员获知目标应用程序在运行到该类A的第10行的指令时的状态。
如图2所示,在一个实施例中,上述步骤S110包括:
步骤S111,获取输入的目标虚拟机对应的地址和调试端口,以生成调试命令。
本实施例中,目标虚拟机对应的地址和调试端口用于为调试器所进行的调试指示目标应用程序所在地,用于实现调试器与目标虚拟机之间的连接。
步骤S113,通过生成的调试命令触发调用调试接口与目标虚拟机建立连接。
本实施例中,启动调试器之后,将通过调试人员或者开发人员所触发的应用程序调试操作得到输入的目标虚拟机对应的地址和调试端口,进而调用调试接口,使得调试接口底层通过JDWP(Java调试线协议)与目标虚拟机通讯。其中,JDWP为Java调试中的通讯交互协议,将定义了调试器和目标虚拟机之间传递的信息,例如,调试命令的格式。
在一个实施例中,上述步骤S130的具体过程为:调用调试事件请求管理器,并通过调试事件请求管理器将预先封装的调试事件请求注册至目标虚拟机中。
本实施例中,调试器将目标应用程序中的关注点封装为调试事件请求,调试事件请求管理器是调试接口所提供的组件,将用于对调试事件请求进行统一管理。
为了对运行于远端的目标虚拟机中没有源代码支持的目标应用程序进行调试,预先定义了目标应用程序中的关注点,由调试器封装为调试事件请求,进而由调试事件请求管理器将关注点以调试事件请求的方式注册到目标虚拟机中。例如,可将目标虚拟机注册线程启动事件请求(Thread Start Request)、方法进入事件请求(Method EntryRequest)、方法退出事件请求(Method Exit Request)以及断点事件请求(BreakpointRequest)等。
如图3所示,在一个实施例中,上述步骤S150之前,该方法还包括如下步骤:
步骤S210,目标虚拟机判断当前触发的事件是否与注册的调试事件请求相契合,若是,则进入步骤S230,若否,则结束。
本实施例中,目标虚拟机运行该目标应用程序的过程中,将对目标虚拟机触发的事件与注册的调试事件请求是否契合进行判断,即判断当前所运行的源代码是否与注册的调试事件请求相符,若为是,则说明当前目标虚拟机触发的事件即为注册的调试事件请求,此时,进入步骤S230以将对应的事件实例放入事件队列中。
步骤S230,将对应的事件实例放入事件队列。
如图4所示,在一个实施例中,上述步骤S150包括:
步骤S151,通过调试接口调用事件队列接口,以通过事件队列接口得到事件队列,并从事件队列中取出调试事件请求对应的事件实例。
本实施例中,事件实例包括了相应的调试事件请求发生时目标虚拟机的状态信息,该状态信息即为调试信息。
步骤S153,由事件实例得到调试信息,并输出调试信息。
本实施例中,从事件实例中获取得到调试信息,并输出于调试器的操作界面中,以供查看,进而根据调试信息对目标应用程序进行进一步的改进。
下面结合一个具体的实施例来详细阐述上述应用程序调试方法。该实施例中,如图5所示,如上所述的应用程序调试方法运行于调试器510中,并通过调用调试接口530与位于远端的目标虚拟机550进行通讯。
如图5和图6所示,开发人员启动调试器之后,将首先通过调用调试接口与目标虚拟机建立连接,以将调试事件请求注册至目标虚拟机中,以进行事件队列的获取,即获取相应的事件实例,以得到调试信息并输出。
如图7所示,在一个实施例中,一种应用程序调试装置,包括连接模块110、事件注册模块130和处理模块150。
连接模块110,用于通过调用调试接口与目标虚拟机建立连接,目标应用程序运行于目标虚拟机中。
本实施例中,目标应用程序即为运行于远端的远程环境中的各种待调试程序。调试接口是调试器对目标应用程序进行调试所定义的,即JDI。
目标虚拟机为目标应用程序所在的运行环境,如,JVM实例。具体的,目标应用程序被启动时,将随之产生JVM实例,将被启动的目标应用程序运行于产生的JVM实例中。
连接模块110通过调用调试接口使得调试器与远端的目标虚拟机建立连接,使得调试器得以与远端的目标虚拟机进行通信,对目标应用程序进行调试。
事件注册模块130,用于将调试事件请求注册至目标虚拟机,该调试事件请求是根据目标应用程序中的关注点封装得到的。
本实施例中,调试事件请求将是根据目标应用程序中的关注点封装得到的JDI定义的、可识别的调试事件请求对象。其中,目标应用程序中存在着一个或者多个关注点,关注点即为清楚目标应用程序中的源代码结构的调试人员或开发人员为了定位特定的问题所需要查看的目标应用程序中的特定位置,例如,关注点可以是目标应用程序中java代码中某一个类的方法或者变量。
处理模块150,用于主动向目标虚拟机获取事件队列,以通过事件队列输出调试事件请求所对应的调试信息。
本实施例中,由于事件队列中的事件信息,即事件队列所存入的事件实例是调试器所关注的,因此,调试器将主动调用调试接口来进行事件队列的获取,进而从事件队列中取出事件实例,以输出调试信息。
进一步的,调试信息则是注册的调试事件请求所对应的事件被触发时目标虚拟机的状态信息,例如,注册的调试事件请求被触发时当前堆栈中的本地变量、调用堆栈信息。
例如,目标应用程序运行出错时,该目标应用程序的开发人员将通过产生的错误提示或程序日志等信息对照本地开发环境的源代码可判断得到出错原因将与目标应用程序中的一个java类A的第10行的变量有关,则该类A的第10行即为目标应用程序中的一个关注点。
当判断模块150判断到目标虚拟机运行到该类A的第10行的指令时,说明目标虚拟机触发的事件与注册的调试事件请求相契合,此时,处理模块170将与该类A的第10行的指令相关的当前堆栈中的本地变量以及调用堆栈信息等进行处理,进而向该目标应用程序的开发人员输出,以使得该目标应用程序的开发人员获知目标应用程序在运行到该类A的第10行的指令时的状态
如图8所示,在一个实施例中,上述连接模块110包括命令生成单元111和连接建立单元113。
命令生成单元111,用于获取输入的目标虚拟机对应的地址和调试端口,以生成调试命令。
本实施例中,目标虚拟机对应的地址和调试端口用于为调试器所进行的调试指示目标应用程序所在地,用于实现调试器与目标虚拟机之间的连接。
连接建立单元113,用于通过生成的调试命令触发调用调试接口与目标虚拟机建立连接。
本实施例中,启动调试器之后,命令生成单元111将通过调试人员或者开发人员所触发的应用程序调试操作得到输入的目标虚拟机对应的地址和调试端口,连接建立单元113调用调试接口,使得调试接口底层通过JDWP与目标虚拟机通讯。其中,JDWP为Java调试中的通讯交互协议,将定义了调试器和目标虚拟机之间传递的信息,例如,调试命令的格式。
在一个实施例中,上述事件注册模块130还用于调用调试事件请求管理器,并通过调试事件请求管理器将预先封装的调试事件请求注册至目标虚拟机中。
本实施例中,调试器将目标应用程序中的关注点封装为调试事件请求,调试事件请求管理器是调试接口所提供的组件,将用于对调试事件请求进行统一管理。
为了对运行于远端的目标虚拟机中没有源代码支持的目标应用程序进行调试,预先定义了目标应用程序中的关注点,由调试器封装为调试事件请求,进而由调试事件请求管理器将关注点以调试事件请求的方式注册到目标虚拟机中。例如,可将目标虚拟机注册线程启动事件请求、方法进入事件请求、方法退出事件请求以及断点事件请求等。
在一个实施例中,该目标虚拟机用于判断当前触发的事件是否与注册的调试事件请求相契合,若是,则将对应的事件实例放入事件队列,若否,则停止执行。
本实施例中,目标虚拟机运行该目标应用程序的过程中,将对目标虚拟机触发的事件与注册的调试事件请求是否契合进行判断,即判断当前所运行的源代码是否与注册的调试事件请求相符,若为是,则说明当前目标虚拟机触发的事件即为注册的调试事件请求,此时,将对应的事件实例放入事件队列中。
如图9所示,在一个实施例中,上述处理模块150包括实例获取单元151和输出单元153。
实例获取单元151,用于通过调试接口调用事件队列接口,以通过事件队列接口得到事件队列,并从事件队列中取出调试事件请求对应的事件实例。
本实施例中,事件实例包括了相应的调试事件请求发生时目标虚拟机的状态信息,该状态信息即为调试信息。
输出单元153,用于由事件实例得到调试信息,并输出调试信息。
本实施例中,输出单元153从事件实例中获取得到调试信息,并输出于调试器的操作界面中,以供查看,进而根据调试信息对目标应用程序进行进一步的改进。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种应用程序调试方法,包括如下步骤:
通过调用调试接口与目标虚拟机建立连接,目标应用程序运行于所述目标虚拟机中;
调用调试事件请求管理器,并通过所述调试事件请求管理器将预先封装的调试事件请求注册至所述目标虚拟机中,所述调试事件请求是根据所述目标应用程序中的关注点封装得到的,所述关注点是为了定位特定的问题所需要查看的目标应用程序中的特定位置;
通过所述调试接口调用事件队列接口,以通过所述事件队列接口得到事件队列,并从所述事件队列中取出所述调试事件请求对应的事件实例;
由所述事件实例得到调试信息,并输出所述调试信息。
2.根据权利要求1所述的方法,其特征在于,所述通过调用调试接口与目标虚拟机建立连接的步骤包括:
获取输入的目标虚拟机对应的地址和调试端口,以生成调试命令;
通过生成的调试命令触发调用调试接口与目标虚拟机建立连接。
3.根据权利要求1所述的方法,其特征在于,所述通过所述调试接口调用事件队列接口,以通过所述事件队列接口得到事件队列,并从所述事件队列中取出所述调试事件请求对应的事件实例的步骤之前,所述方法还包括:
所述目标虚拟机判断当前触发的事件是否与所述注册的调试事件请求契合,若是,则
将对应的事件实例放入所述事件队列。
4.一种应用程序调试装置,其特征在于,包括:
连接模块,用于通过调用调试接口与目标虚拟机建立连接,目标应用程序运行于所述目标虚拟机中;
事件注册模块,用于调用调试事件请求管理器,并通过所述调试事件请求管理器将预先封装的调试事件请求注册至所述目标虚拟机中,所述调试事件请求是根据所述目标应用程序中的关注点封装得到的,所述关注点是为了定位特定的问题所需要查看的目标应用程序中的特定位置;
处理模块,所述处理模块包括:实例获取单元,用于通过所述调试接口调用事件队列接口,以通过所述事件队列接口得到事件队列,并从所述事件队列中取出调试事件请求对应的事件实例;输出单元,用于由所述事件实例得到调试信息,并输出所述调试信息。
5.根据权利要求4所述的装置,其特征在于,所述连接模块包括:
命令生成单元,用于获取输入的目标虚拟机对应的地址和调试端口,以生成调试命令;
连接建立单元,用于通过生成的调试命令触发调用调试接口与目标虚拟机建立连接。
6.根据权利要求4所述的装置,其特征在于,所述目标虚拟机用于判断当前触发的事件是否与所述注册的事件契合,若是,则将所述对应的事件实例放入所述事件队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310714540.1A CN103699485B (zh) | 2013-12-20 | 2013-12-20 | 应用程序调试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310714540.1A CN103699485B (zh) | 2013-12-20 | 2013-12-20 | 应用程序调试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699485A CN103699485A (zh) | 2014-04-02 |
CN103699485B true CN103699485B (zh) | 2018-04-10 |
Family
ID=50361021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310714540.1A Active CN103699485B (zh) | 2013-12-20 | 2013-12-20 | 应用程序调试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699485B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391783A (zh) * | 2014-07-24 | 2015-03-04 | 贵阳朗玛信息技术股份有限公司 | 一种软件调试方法及装置 |
CN106874176B (zh) * | 2015-12-14 | 2021-04-27 | 创新先进技术有限公司 | 智能测试方法和装置 |
CN105843690A (zh) * | 2016-03-14 | 2016-08-10 | 乐视移动智能信息技术(北京)有限公司 | 一种进行调试信息传输的方法及移动终端 |
CN108572866B (zh) * | 2018-04-23 | 2021-05-14 | Oppo广东移动通信有限公司 | 一种应用程序管理方法、应用程序管理装置及移动终端 |
CN113742159A (zh) * | 2020-07-06 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种数据采集方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019941A (zh) * | 2012-12-28 | 2013-04-03 | 大唐微电子技术有限公司 | 程序调试方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020099953A1 (en) * | 2000-11-30 | 2002-07-25 | International Business Machines Corporation | Debugging of chipcards |
-
2013
- 2013-12-20 CN CN201310714540.1A patent/CN103699485B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019941A (zh) * | 2012-12-28 | 2013-04-03 | 大唐微电子技术有限公司 | 程序调试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103699485A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783342B (zh) | 脚本调试方法、设备及计算机存储介质 | |
CN103699485B (zh) | 应用程序调试方法和装置 | |
CN105608000B (zh) | 获取代码覆盖率数据的方法及装置 | |
CN106294102B (zh) | 应用程序的测试方法、客户端、服务器及系统 | |
WO2019085079A1 (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
US10254337B2 (en) | System and method for establishing a trusted diagnosis/debugging agent over a closed commodity device | |
CN110704306B (zh) | 测试中的断言处理方法、装置、设备及存储介质 | |
CN106503563B (zh) | 基于通用框架的批量漏洞检测方法 | |
CN104731566B (zh) | 集成开发环境测试装置、方法及系统 | |
CN106126423B (zh) | 游戏应用程序的测试方法、装置及系统 | |
CN104281518A (zh) | 终端应用测试方法、装置、系统、平台及移动终端 | |
CN113672441B (zh) | 对智能设备的测试方法及装置 | |
CN104932972B (zh) | 一种反动态调试应用程序的方法及装置 | |
CN109902005A (zh) | 一种自动化测试的方法和系统 | |
CN108121633B (zh) | 异常捕获方法及装置 | |
CN110688313B (zh) | 一种VxWorks操作系统下软件测试的故障注入方法 | |
CN108763056A (zh) | 一种自动化测试弹框处理方法及终端 | |
CN108021791B (zh) | 数据保护方法及装置 | |
CN106778098A (zh) | 一种安卓系统应用程序的保护方法和装置 | |
CN111400167A (zh) | Redfish服务合规性验证方法、装置及设备和介质 | |
CN110704314A (zh) | 一种嵌入式软件测试的故障注入方法 | |
CN109614107A (zh) | 一种软件开发工具包的集成方法和装置 | |
CN105446886B (zh) | 一种计算机程序调试方法和装置 | |
CN105528546B (zh) | 一种挖掘漏洞的方法、装置及电子设备 | |
US20230315620A1 (en) | System and Method for Diagnosing a Computing Device in Safe Mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |