CN108170552B - 一种抓取Dump文件的方法、装置和设备 - Google Patents

一种抓取Dump文件的方法、装置和设备 Download PDF

Info

Publication number
CN108170552B
CN108170552B CN201810011058.4A CN201810011058A CN108170552B CN 108170552 B CN108170552 B CN 108170552B CN 201810011058 A CN201810011058 A CN 201810011058A CN 108170552 B CN108170552 B CN 108170552B
Authority
CN
China
Prior art keywords
program
monitored
monitoring process
dump file
crash data
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
CN201810011058.4A
Other languages
English (en)
Other versions
CN108170552A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810011058.4A priority Critical patent/CN108170552B/zh
Publication of CN108170552A publication Critical patent/CN108170552A/zh
Application granted granted Critical
Publication of CN108170552B publication Critical patent/CN108170552B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种抓取Dump文件的方法、装置和设备,所述方法包括:S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。本发明通过预先创建的监控进程,抓取待监控程序的崩溃现场,生成Dump文件,避免了待监控程序中的进程内抓取,提高了Dump文件的完整性和正确性。

Description

一种抓取Dump文件的方法、装置和设备
技术领域
本发明涉及计算机技术领域,具体涉及一种抓取Dump文件的方法、装置和设备。
背景技术
Dump文件主要用于诊断一个进程的运行状态,在程序运行过程中遇到异常崩溃问题时,记录系统信息和程序运行堆栈信息,用于程序员后续分析调试程序崩溃原因的文件。
现有技术中,抓取Dump文件的方法是采用的进程内抓取,但是有如下缺点:进程发生异常崩溃时,进程是处于不稳定的状态,如果此时在进程内抓取Dump文件可能会破坏崩溃现场,导致抓取Dump的结果不正确;有些进程不支持进程内抓取Dump操作,比如渲染进程,因为它没有访问文件系统的权限,所以无法生成Dump文件。
发明内容
针对现有技术中存在的上述缺陷,本发明提供一种抓取Dump文件的方法、装置和设备。
本发明的一方面提供一种抓取Dump文件的方法,包括:S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
其中,所述步骤S2前还包括:定义所述处理函数,其中,所述处理函数的参数为指针地址,所述指针地址指向崩溃数据,所述处理函数用于将输入的崩溃数据保存至内存中。
其中,所述定义所述处理函数的步骤后还包括:获取待监控程序ID;将处理函数的指针地址和待监控程序ID注册至所述监控进程。
其中,所述步骤S2具体包括:S21,在监控进程中根据待监控程序ID,读取与所述待监控程序ID对应的崩溃数据;S22,在监控进程中调用所述处理函数,将所述崩溃数据保存至内存。
其中,所述步骤S3前还包括:获取系统中所述写入函数所在的DLL模块;从所述DLL模块中获取所述写入函数的指针地址,所述指针地址指向内存中保存的崩溃数据,所述写入函数用于将保存在内存中的崩溃数据写入Dump文件中。
其中,所述步骤S1前还包括:注册所述监控进程的信息;检测到待监控程序发生异常崩溃状况后,根据监控进程的信息,向监控进程发送待监控程序的异常崩溃信号。
本发明的另一方面提供一种抓取Dump文件的装置,包括:创建模块,用于当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;保存模块,用于在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;写入模块,用于在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
所述装置还包括:定义模块,用于定义所述处理函数,其中,所述处理函数的参数为指针地址,所述指针地址指向崩溃数据,所述处理函数用于将输入的崩溃数据保存至内存中。
本发明的又一方面提供一种抓取Dump文件的设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明上述方面提供的抓取Dump文件的方法,例如包括:S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
本发明的又一方面提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本发明上述方面提供的抓取Dump文件的方法,例如包括:S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
本发明提供的抓取Dump文件的方法、装置和设备,通过预先创建的监控进程,抓取待监控程序的崩溃现场,生成Dump文件,避免了待监控程序中的进程内抓取,提高了Dump文件的完整性和正确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的抓取Dump文件的方法的流程示意图;
图2为本发明实施例提供的抓取Dump文件的装置的结构示意图;
图3为本发明实施例提供的抓取Dump文件的设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的抓取Dump文件的方法的流程示意图,如图1所示,包括:S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
其中,进程(Process)是计算机中的程序关于数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础;在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器;程序是指令、数据及其组织形式的描述,进程是程序的实体;在本发明实施例中,监控进程为预先创建的后台进程(或称为服务器进程),用于监控抓取待监控程序的崩溃现场,并生成Dump文件。
其中,崩溃数据是待监控程序发生异常崩溃时,崩溃现场产生的数据。
在步骤S1中,创建监控进程后,该监控进程用于对待监控程序的异常崩溃情况进行监控;待监控程序崩溃后,会立刻向监控进程发送异常崩溃信号,并在发送信号后,在监控进程中创建或生成Dump本地文件。
在步骤S2中,在监控进程中根据预先获取到的待监控程序ID,获取到对应的崩溃数据,并将崩溃数据存储至内存(buffer)中。
在步骤S3中,在监控进程中利用预先获取到的写入函数(写入函数是针对Dump文件的),将步骤S2中保存至内存中的崩溃数据写入至步骤S1中创建的Dump文件中。
本发明实施例提供的抓取Dump文件的方法,通过预先创建的监控进程,抓取待监控程序的崩溃现场,生成Dump文件,避免了待监控程序中的进程内抓取,提高了Dump文件的完整性和正确性。
在上述任一实施例的基础上,所述步骤S2前还包括:定义所述处理函数,其中,所述处理函数的参数为指针地址,所述指针地址指向崩溃数据,所述处理函数用于将输入的崩溃数据保存至内存中。
具体地,指针地址能够获取到待监控程序异常崩溃时产生的崩溃数据;而处理函数的作用是通过指针获取崩溃数据,做自定义的特殊处理,例如本发明实施例中的将崩溃数据保存至内存中的处理。
在上述任一实施例的基础上,所述定义所述处理函数的步骤后还包括:获取待监控程序ID;将处理函数的指针地址和待监控程序ID注册至所述监控进程。
具体地,由于监控进程需要对待监控程序进行监控,获取其崩溃数据,因此需要通过注册将待监控程序的相关信息(包括指针地址和待监控程序ID)注册或发送至监控进程,使得监控进程可以时刻监控待监控程序的异常崩溃处理过程,从待监控程序中读取Dump数据(即崩溃数据),并写入到完整的Dump文件中;应当说明的是,监控进程可以同时监控多个待监控程序,并将各待监控程序的崩溃数据写入一个Dump文件或写入每个待监控程序分别对应的Dump文件。
在上述任一实施例的基础上,所述步骤S2具体包括:S21,在监控进程中根据待监控程序ID,读取与所述待监控程序ID对应的崩溃数据;S22,在监控进程中调用所述处理函数,将所述崩溃数据保存至内存。
具体地,基于待监控程序ID,能够获取到对应的该程序产生的崩溃数据;而基于处理函数,函数的指针指向待监控程序产生的崩溃数据,处理函数能够将输入的崩溃数据保存至内存。
在上述任一实施例的基础上,所述步骤S3前还包括:获取系统中所述写入函数所在的DLL模块;从所述DLL模块中获取所述写入函数的指针地址,所述指针地址指向内存中保存的崩溃数据,所述写入函数用于将保存在内存中的崩溃数据写入Dump文件中。
其中,DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型;在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中;当我们执行某一个程序时,相应的DLL文件就会被调用;一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用。
具体地,由于系统(例如windows系统)没有开放写入函数的相关API,因此需要通过加载DLL手动获取windows dll中的API接口;即获取写入函数所在的DLL模块,再从该DLL模块中获取写入函数的指针地址;使得监控进程能够调用写入函数来将崩溃输入写入到Dump文件中。
在上述任一实施例的基础上,所述步骤S1前还包括:注册所述监控进程的信息;检测到待监控程序发生异常崩溃状况后,根据监控进程的信息,向监控进程发送待监控程序的异常崩溃信号。
具体地,在创建监控进程后,需要向系统进行注册,使得在监控到待监控程序崩溃后,能够发送异常崩溃信息至监控进程,从而由创建的监控进程处理,避免系统自身处理。
为了对本发明实施例提供的上述方法进行说明,以下提供另一实施例进行举例:
本实施例是利用在待监控程序启动时,通过创建一个后台进程(也可以称为服务器进程或监控进程),用于监控、抓取待监控程序的崩溃现场,并生成Dump文件;具体利用了与后台进程的通信机制、远程访问写入进程内存地址等方式来实现进程外抓取Dump;
为了表达清晰,以下将用于监控程序异常崩溃的后台进程(或监控进程)称为服务器,待监控程序称为客户端,具体的实施步骤如下:
步骤1,static LONG WINAPI HandleException(EXCEPTION_POINTERS*exinfo),即首先定义异常崩溃的处理函数指针地址,用于接收windows系统监控到程序异常崩溃时的回调使用;
步骤2,调用GetCurrentProcessId函数,获取客户端程序的进程ID(待监控程序ID),用于服务器进程监控客户端程序使用;
步骤3,待监控程序启动时,创建CrashClient对象,该对象主要包括以下作用,
1)调用ConnectServer函数,与后台进程建立通信连接;
2)调用Register函数,把步骤1定义的函数指针地址和步骤2得到的客户端进程ID注册到服务器进程中,用于服务器抓取Dump时使用;
3)调用SetUnhandledExceptionFilter向windows系统注册用于接收异常崩溃处理的过程(即监控进程),是为了避免windows系统自身处理崩溃现场,交给创建的监控程序来处理;
4)通过上述接口,主要作用是把客户端程序相关的信息注册到后台服务器进程中,使得服务器进程可以时刻监控客户端程序的异常崩溃处理过程,从而从客户端进程中读取Dump数据,并写入到完整的Dump文件;
步骤4,创建CrashServer对象,负责创建及启动后台服务器进程,并监控客户端程序的异常崩溃处理过程;该对象主要包括以下作用,
1)调用CreateNamedPipe创建命名管道服务器,用于与客户端进程进行连接通信;采用命名管道通信传输速度快,为抓取Dump文件提供了稳定的通信基础;
2)调用HandleConnectionRequest检测客户端的连接状态,当有客户端连接上,接收客户端在步骤3注册时发送的函数指针地址和进程ID;
3)调用RegisterWaitForSingleObject监控客户端的异常崩溃状态,如果出现崩溃问题,windows系统会马上通知到服务器进程做处理;
4)在收到客户端程序异常崩溃的信号时,具体的处理包括以下步骤,
(1)调用GenerateFullDumpFile生成Dump本地文件;
(2)调用LoadLibrary("dbghelp.dll")加载系统底层模块,由于windows系统没有开放相关API,所以这里通过加载DLL手动获取windows dll中的API接口;
(3)调用GetProcAddress(module,"MiniDumpWriteDump")获取windows系统底层提供的Dump文件写入函数的指针地址;
(4)通过客户端连接时注册的进程ID和函数指针地址,调用ReadProcessMemory读取客户端进程异常崩溃的现场数据内存,保存在内存buffer中;
(5)利用上述步骤(3)中获取到的MiniDumpWriteDump函数指针地址,然后调用此函数指针把上述步骤(4)得到的客户端崩溃数据写入到上述步骤(1)创建的本地Dump文件。
基于上述步骤,可实现后台服务器进程时刻监控客户端的异常崩溃过程,达到在进程外抓取并生成客户端程序Dump文件的目的,提高了抓取Dump文件的准确性、可靠性,还可以同时监控抓取多个客户端程序的异常崩溃过程。
图2为本发明实施例提供的抓取Dump文件的装置的结构示意图,如图2所示,包括:创建模块201,用于当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;保存模块202,用于在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;写入模块203,用于在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
其中,创建监控进程后,该监控进程用于对待监控程序的异常崩溃情况进行监控;待监控程序崩溃后,监控进程会立刻接收到创建模块201发送的异常崩溃信号,并在发出信号后,在监控进程中创建或生成Dump本地文件。
其中,保存模块202在监控进程中根据预先获取到的待监控程序ID,获取到对应的崩溃数据,并将崩溃数据存储至内存(buffer)中。
其中,写入模块203在监控进程中利用预先获取到的写入函数(写入函数是针对Dump文件的),将保存模块202中保存至内存中的崩溃数据写入至创建模块201中创建的Dump文件中。
本发明实施例提供的抓取Dump文件的装置,通过预先创建的监控进程,抓取待监控程序的崩溃现场,生成Dump文件,避免了待监控程序中的进程内抓取,提高了Dump文件的完整性和正确性。
在上述任一实施例的基础上,所述装置还包括:定义模块,用于定义所述处理函数,其中,所述处理函数的参数为指针地址,所述指针地址指向崩溃数据,所述处理函数用于将输入的崩溃数据保存至内存中。
具体地,指针地址能够获取到待监控程序异常崩溃时产生的崩溃数据;而处理函数的作用是通过指针获取崩溃数据,做自定义的特殊处理,例如本发明实施例中的将崩溃数据保存至内存中的处理。
在上述任一实施例的基础上,所述装置还包括:第一注册模块,用于获取待监控程序ID;将处理函数的指针地址和待监控程序ID注册至所述监控进程。
在上述任一实施例的基础上,所述保存模块具体包括:读取单元,用于在监控进程中根据待监控程序ID,读取与所述待监控程序ID对应的崩溃数据;保存单元,用于在监控进程中调用所述处理函数,将所述崩溃数据保存至内存。
在上述任一实施例的基础上,所述装置还包括:写入函数模块,用于获取系统中所述写入函数所在的DLL模块;从所述DLL模块中获取所述写入函数的指针地址,所述指针地址指向内存中保存的崩溃数据,所述写入函数用于将保存在内存中的崩溃数据写入Dump文件中。
在上述任一实施例的基础上,所述装置还包括:第二注册模块,用于注册所述监控进程的信息;,检测到待监控程序发生异常崩溃状况后,根据监控进程的信息,向监控进程发送待监控程序的异常崩溃信号。
图3为本发明实施例提供的抓取Dump文件的设备的结构示意图,如图3所示,该设备包括:至少一个处理器301;以及与所述处理器301通信连接的至少一个存储器302,其中:所述存储器302存储有可被所述处理器301执行的程序指令,所述处理器301调用所述程序指令能够执行上述各实施例所提供的抓取Dump文件的方法,例如包括:S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
本发明实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行对应实施例所提供的抓取Dump文件的方法,例如包括:S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中。
以上所描述的抓取Dump文件的设备等实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种抓取Dump文件的方法,其特征在于,包括:
S1,当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;
S2,在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;
S3,在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中;
步骤S3前还包括:
获取系统中所述写入函数所在的DLL模块;
从所述DLL模块中获取所述写入函数的指针地址,所述指针地址指向内存中保存的崩溃数据,所述写入函数用于将保存在内存中的崩溃数据写入Dump文件中。
2.根据权利要求1所述的方法,其特征在于,步骤S2前还包括:
定义所述处理函数,其中,所述处理函数的参数为指针地址,所述指针地址指向崩溃数据,所述处理函数用于将输入的崩溃数据保存至内存中。
3.根据权利要求2所述的方法,其特征在于,所述定义所述处理函数的步骤后还包括:
获取待监控程序ID;
将处理函数的指针地址和待监控程序ID注册至所述监控进程。
4.根据权利要求3所述的方法,其特征在于,所述步骤S2具体包括:
S21,在监控进程中根据待监控程序ID,读取与所述待监控程序ID对应的崩溃数据;
S22,在监控进程中调用所述处理函数,将所述崩溃数据保存至内存。
5.根据权利要求1所述的方法,其特征在于,步骤S1前还包括:
注册所述监控进程的信息;
检测到待监控程序发生异常崩溃状况后,根据监控进程的信息,向监控进程发送待监控程序的异常崩溃信号。
6.一种抓取Dump文件的装置,其特征在于,包括:
创建模块,用于当预先创建的监控进程接收到待监控程序的异常崩溃信号时,在监控进程中创建Dump文件;
保存模块,用于在监控进程中根据待监控程序ID,读取待监控程序的崩溃数据,并通过预先定义的处理函数将崩溃数据保存至内存;
写入模块,用于在监控进程中通过调用与Dump文件对应的写入函数,将所述崩溃数据写入Dump文件中;
写入函数模块,用于获取系统中所述写入函数所在的DLL模块;从所述DLL模块中获取所述写入函数的指针地址,所述指针地址指向内存中保存的崩溃数据,所述写入函数用于将保存在内存中的崩溃数据写入Dump文件中。
7.根据权利要求6所述的装置,其特征在于,还包括:
定义模块,用于定义所述处理函数,其中,所述处理函数的参数为指针地址,所述指针地址指向崩溃数据,所述处理函数用于将输入的崩溃数据保存至内存中。
8.一种抓取Dump文件的设备,其特征在于,包括:
至少一个处理器;
以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使计算机执行如权利要求1至5任一所述的方法。
CN201810011058.4A 2018-01-05 2018-01-05 一种抓取Dump文件的方法、装置和设备 Active CN108170552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810011058.4A CN108170552B (zh) 2018-01-05 2018-01-05 一种抓取Dump文件的方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810011058.4A CN108170552B (zh) 2018-01-05 2018-01-05 一种抓取Dump文件的方法、装置和设备

Publications (2)

Publication Number Publication Date
CN108170552A CN108170552A (zh) 2018-06-15
CN108170552B true CN108170552B (zh) 2021-06-15

Family

ID=62517497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810011058.4A Active CN108170552B (zh) 2018-01-05 2018-01-05 一种抓取Dump文件的方法、装置和设备

Country Status (1)

Country Link
CN (1) CN108170552B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968471A (zh) * 2018-09-30 2020-04-07 武汉斗鱼网络科技有限公司 一种程序崩溃问题上报方法、存储介质、电子设备及系统
CN109542873A (zh) * 2018-10-26 2019-03-29 深圳点猫科技有限公司 一种基于编程语言实现重跑历史数据的方法以及电子设备
CN110109770A (zh) * 2019-05-06 2019-08-09 Oppo广东移动通信有限公司 调试方法、装置、电子设备及介质
CN110262918B (zh) * 2019-06-19 2023-07-18 深圳市网心科技有限公司 进程崩溃分析方法及装置、分布式设备及存储介质
CN110727566B (zh) * 2019-09-05 2023-08-11 北京字节跳动网络技术有限公司 一种获取进程崩溃信息的方法、装置、介质和电子设备
CN110908837B (zh) * 2019-11-15 2024-03-01 珠海豹趣科技有限公司 应用程序异常处理方法、装置、电子设备及存储介质
CN118132386A (zh) * 2024-04-30 2024-06-04 苏州元脑智能科技有限公司 系统崩溃信息保存方法、装置和计算机系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226761B1 (en) * 1998-09-24 2001-05-01 International Business Machines Corporation Post dump garbage collection
CN106484617A (zh) * 2016-10-09 2017-03-08 武汉斗鱼网络科技有限公司 用于Windows软件产品的dump文件自动分析统计方法及系统
CN106649089A (zh) * 2016-10-09 2017-05-10 武汉斗鱼网络科技有限公司 一种程序崩溃分析方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012090290A1 (ja) * 2010-12-27 2012-07-05 富士通株式会社 メモリダンプ機能を有する情報処理装置、メモリダンプ方法、およびメモリダンププログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226761B1 (en) * 1998-09-24 2001-05-01 International Business Machines Corporation Post dump garbage collection
CN106484617A (zh) * 2016-10-09 2017-03-08 武汉斗鱼网络科技有限公司 用于Windows软件产品的dump文件自动分析统计方法及系统
CN106649089A (zh) * 2016-10-09 2017-05-10 武汉斗鱼网络科技有限公司 一种程序崩溃分析方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
windows下捕获dump之Googlebreakpad_client的理解;烛秋;《https://www.cnblogs.com/cswuyg/p/3286244.html》;20130827;1-5 *

Also Published As

Publication number Publication date
CN108170552A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108170552B (zh) 一种抓取Dump文件的方法、装置和设备
CN105843741B (zh) 应用程序的信息处理方法和装置
US8250543B2 (en) Software tracing
CN106844136B (zh) 一种程序崩溃信息的收集方法及系统
WO2019161619A1 (zh) 接口自动化测试方法、装置、设备及计算机可读存储介质
CN110399241B (zh) 任务异常处理方法、装置、计算机设备和可读存储介质
CN108038039B (zh) 记录日志的方法及微服务系统
US10802847B1 (en) System and method for reproducing and resolving application errors
CN109783345B (zh) 一种小程序性能测试方法和系统
US20150006961A1 (en) Capturing trace information using annotated trace output
US11055416B2 (en) Detecting vulnerabilities in applications during execution
US10635575B2 (en) Testing of enterprise resource planning systems
KR102545765B1 (ko) 메모리 오류를 검출하는 방법 및 시스템
US9274922B2 (en) Low-level checking of context-dependent expected results
CN114691445A (zh) 集群故障处理方法、装置、电子设备及可读存储介质
CN111078418A (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
CN110471784A (zh) 基于Electron平台的播放终端异常处理方法及装置
CN114296986B (zh) 内存泄漏定位方法、装置、介质和电子设备
CN110968471A (zh) 一种程序崩溃问题上报方法、存储介质、电子设备及系统
CN114253825B (zh) 内存泄漏检测方法、装置、计算机设备和存储介质
US11783004B2 (en) Identifying a script that originates synchronous and asynchronous actions
CN115499493A (zh) 异步事务处理方法、装置、存储介质及计算机设备
CN114356446A (zh) 一种进程间事件的处理方法、装置、设备以及存储介质
CN115269252A (zh) 应用程序故障处理方法、装置、设备及存储介质
CN109960659B (zh) 用于检测应用程序的方法和装置

Legal Events

Date Code Title Description
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