CN112199224A - 一种崩溃文件的分析方法、装置、电子设备及存储介质 - Google Patents
一种崩溃文件的分析方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112199224A CN112199224A CN202011054720.8A CN202011054720A CN112199224A CN 112199224 A CN112199224 A CN 112199224A CN 202011054720 A CN202011054720 A CN 202011054720A CN 112199224 A CN112199224 A CN 112199224A
- Authority
- CN
- China
- Prior art keywords
- crash
- file
- analysis result
- analysis
- functional module
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 201
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000010276 construction Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明的实施例公开一种崩溃文件的分析方法、装置、电子设备及存储介质,涉及计算机技术领域,能够自动分析崩溃文件,得到崩溃点位置信息以及崩溃点对应的源代码信息,大大提高崩溃文件的分析效率。所述方法包括:对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;查找各所述功能模块对应的符号表文件;根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。本发明适用于对崩溃文件进行分析。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种崩溃文件的分析方法、装置、电子设备及存储介质。
背景技术
目前,一些发布到外网的应用程序会存在大量崩溃,应用程序服务商一般会收集这些崩溃,然后通过程序员手动分析这些崩溃。
具体的,程序员需要先下载崩溃文件,然后使用winDbg分析崩溃文件,这种手动分析的方法需要程序员逐个查找崩溃文件中各模块对应的pdb符号表,且需要在分析结果中逐条查看堆栈、内存、变量等信息才能够确认崩溃点位置,费时费力。
发明内容
有鉴于此,本发明实施例提供一种崩溃文件的分析方法、装置、电子设备及存储介质,能够自动分析崩溃文件,得到崩溃点位置信息以及崩溃点对应的源代码信息,大大提高崩溃文件的分析效率。
第一方面,本发明实施例提供一种崩溃文件的分析方法,所述方法包括:
对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;
查找各所述功能模块对应的符号表文件;
根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。
可选的,所述对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;包括:
调用目标分析工具根据第一解析命令对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块。
可选的,所述查找各所述功能模块所对应的符号表文件,包括:
获取各所述功能模块的特征信息,所述功能模块的特征信息包括所述功能模块的版本号、构建日期、大小和编号;
根据各所述功能模块的特征信息,查找每个所述功能模块所对应的符号表文件。
可选的,所述获取各所述功能模块的特征信息,包括:
根据所述功能模块的名称,生成第二解析命令;
调用目标分析工具根据所述第二解析命令对所述功能模块进行解析,得到所述功能模块的特征信息。
可选的,所述根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,包括:
根据所述符号表文件,调用目标分析工具根据崩溃文件分析命令对崩溃文件进行分析,得到第一分析结果。
可选的,所述第一分析结果中还包括推荐命令;
在根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果之后,所述方法还包括:
根据所述推荐命令,对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果,所述第二分析结果中包括所述线程的寄存器和堆栈信息。
可选的,所述根据所述推荐命令,对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果,包括:
调用目标分析工具根据线程分析命令对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果。
可选的,在得到第二分析结果之后,所述方法还包括:
根据所述第一分析结果和所述第二分析结果,生成总分析结果,所述总分析结果中包括所述崩溃点位置信息、所述崩溃点对应的源代码信息以及所述线程的寄存器和堆栈信息。
可选的,在生成总分析结果之后,所述方法还包括:
按照预设崩溃类型,对所述总分析结果进行归类处理;
展示归类后的总分析结果。
可选的,所述预设崩溃类型的数量至少为两个,每个所述预设崩溃类型分别具有相应的优先级标识。
第二方面,本发明实施例提供一种崩溃文件的分析装置,所述装置包括:
解析单元,用于对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;
查找单元,用于查找各所述功能模块对应的符号表文件;
第一分析单元,用于根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。
可选的,所述解析单元具体用于:
调用目标分析工具根据第一解析命令对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块。
可选的,所述查找单元具体包括::
获取子单元,用于获取各所述功能模块的特征信息,所述功能模块的特征信息包括所述功能模块的版本号、构建日期、大小和编号;
查找子单元,用于根据各所述功能模块的特征信息,查找每个所述功能模块所对应的符号表文件。
可选的,所述获取子单元具体用于:
根据所述功能模块的名称,生成第二解析命令;
调用目标分析工具根据所述第二解析命令对所述功能模块进行解析,得到所述功能模块的特征信息。
可选的,所述第一分析单元具体用于:
根据所述符号表文件,调用目标分析工具根据崩溃文件分析命令对崩溃文件进行分析,得到第一分析结果。
可选的,所述第一分析结果中还包括推荐命令;所述装置还包括:
第二分析单元,用于根据所述推荐命令,对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果,所述第二分析结果中包括所述线程的寄存器和堆栈信息。
可选的,所述第二分析单元具体用于:
调用目标分析工具根据线程分析命令对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果。
可选的,所述装置还包括:
分析结果生成单元,用于根据所述第一分析结果和所述第二分析结果,生成总分析结果,所述总分析结果中包括所述崩溃点位置信息、所述崩溃点对应的源代码信息以及所述线程的寄存器和堆栈信息。
可选的,所述装置还包括:
分类单元,用于按照预设崩溃类型,对所述总分析结果进行归类处理;
展示单元,用于展示归类后的总分析结果。
可选的,所述预设崩溃类型的数量至少为两个,每个所述预设崩溃类型分别具有相应的优先级标识。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的崩溃文件的分析方法。
第四方面,本发明实施例提供一种计算机可读取存储介质,所述计算机可读存储介质存储有一个或多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一实施例所述的崩溃文件的分析方法。
本发明实施例提供的一种崩溃文件的分析方法、装置、电子设备及存储介质,通过对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;查找各所述功能模块对应的符号表文件;根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。这样,能够实现分析崩溃文件自动化,节约程序员分析崩溃文件的时间,极大地提高了崩溃文件分析效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的第一种崩溃文件的分析方法的流程示意图;
图2为本发明的实施例提供的第二种崩溃文件的分析方法的部分流程示意图;
图3为本发明的实施例提供的第三种崩溃文件的分析方法的部分流程示意图;
图4为本发明的实施例提供的第四种崩溃文件的分析方法的流程示意图;
图5为本发明的实施例提供的第五种崩溃文件的分析方法的流程示意图;
图6为本发明的实施例提供的第六种崩溃文件的分析方法的流程示意图;
图7为本发明的实施例提供的第一种崩溃文件的分析装置的结构示意图;
图8为本发明的实施例提供的第二种崩溃文件的分析装置的部分结构示意图;
图9为本发明的实施例提供的第三种崩溃文件的分析装置的结构示意图;
图10为本发明的实施例提供的第四种崩溃文件的分析装置的结构示意图;
图11为本发明的实施例提供的第五种崩溃文件的分析装置的结构示意图;
图12为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明实施例提供一种崩溃文件的分析方法,能够自动分析崩溃文件,得到崩溃点位置信息以及崩溃点对应的源代码信息,大大提高崩溃文件的分析效率。
如图1所示,本发明实施例提供的一种崩溃文件的分析方法,包括:
S101、对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;
本步骤中,所述崩溃文件可以为Dump文件,Dump文件是进程的内存镜像,可以把程序的执行状态通过调试器保存到dump文件中。每一个所述崩溃文件对应一个进程,所述崩溃文件中记录有所述进程的崩溃信息,所述进程中所包含的功能模块是指:所述进程执行时所加载的功能模块。
可选的,所述对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;可以包括:调用目标分析工具根据第一解析命令对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块。
本实施例,所述调用目标分析工具的操作可以由崩溃文件的生成所触发,即在服务器收集到崩溃文件时,即触发调用目标分析工具的操作;所述调用目标分析工具的操作还可以由程序员所触发,即当程序员给出分析崩溃文件的指令时,触发调用目标分析工具的操作。
所述调用目标分析工具可以包括:通过注册表查找目标分析工具的程序路径,根据所述程序路径调用目标分析工具。
所述目标分析工具可以为cdb.exe,这时,所述第一解析命令可以为.reload;!analyze-v;~*kv;q;如果发现是64版崩溃,控制所述目标分析工具根据切换命令切换到64位模式后再对崩溃文件进行解析,切换命令为:.load wow64exts;!Sw;在对崩溃文件进行解析之后,得到解析结果文本文件,在解析结果文本文件中查找功能模块名称信息,查找到的所述功能模块名称信息对应的功能模块即为所述进程所包含的功能模块。
S102、查找各所述功能模块对应的符号表文件;
本步骤中,每一个所述功能模块对应有一个符号表文件(pdb文件),所述符号表文件存储有程序的所有调试信息数据。崩溃分析需要对应模块的pdb符号表,才能匹配源代码位置,帮助程序员定位问题。
如图2所示,可选的,所述查找各所述功能模块所对应的符号表文件,可以包括:
S1021、获取各所述功能模块的特征信息,所述功能模块的特征信息包括所述功能模块的版本号、构建日期、大小和编号;
本步骤,所述功能模块的大小是指所述功能模块的字节数。
S1022、根据各所述功能模块的特征信息,查找每个所述功能模块所对应的符号表文件。
本实施例,根据获取的功能模块的特征信息,可以在应用程序提供商ftp服务器上找到对应的pdb符号表文件。具体的,根据功能模块的特征信息,匹配得到的完整的pdb路径,以供后续步骤中根据该路径加载完整的符号表文件,完成分析。
如图3所示,具体的,所述获取各所述功能模块的特征信息,可以包括:
S10211、根据所述功能模块的名称,生成第二解析命令;
S10212、调用目标分析工具根据所述第二解析命令对所述功能模块进行解析,得到所述功能模块的特征信息。
本实施例,可以利用S101中查找到的功能模块的名称,生成第二解析命令,当所述目标分析工具为cdb.exe时,所述第二解析命令可以为.reload;lmvm module1;lmvmmodule2;...q;其中,module1、module2代表模块1和模块2的名称,cdb.exe根据.reload;lmvm module1;lmvm module2;...q命令,可以解析出每个功能模块对应的特性信息。
S103、根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。
本步骤中,所述根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,可以包括:根据所述符号表文件,调用目标分析工具根据崩溃文件分析命令对崩溃文件进行分析,得到第一分析结果。
所述目标分析工具为cdb.exe时,所述崩溃文件分析命令可以为.reload;!analyze-v;kv;~*kv;q;cdb.exe可以根据.reload;!analyze-v;kv;~*kv;q命令,用完整的符号表文件,对崩溃文件进行分析,输出错误信息,即所述崩溃点位置信息和所述崩溃点对应的源代码信息。
本实施例提供的一种崩溃文件的分析方法,可以应用于服务器,通过对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;查找各所述功能模块对应的符号表文件;根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。这样,能够实现分析崩溃文件自动化,节约程序员分析崩溃文件的时间,极大地提高了崩溃文件分析效率。
可选的,所述第一分析结果中还包括推荐命令;例如,当所述目标分析工具为cdb.exe,所述崩溃文件分析命令为.reload;!analyze-v;kv;~*kv;q时,所述第一分析结果中除所述崩溃点位置信息以及所述崩溃点对应的源代码信息之外,还包括推荐命令STACK_COMMAND,STACK_COMMAND会推荐一条可能存在崩溃的线程,例如STACK_COMMAND:~0s,;.ecxr;kb。
如图4所示,当所述第一分析结果中还包括推荐命令时,在根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果之后,所述方法还可以包括:
S104、根据所述推荐命令,对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果,所述第二分析结果中包括所述线程的寄存器和堆栈信息。
本步骤中,可以调用目标分析工具根据线程分析命令对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果。当所述目标分析工具为cdb.exe、所述推荐命令为STACK_COMMAND:~0s,;.ecxr;kb时,所述线程分析命令可以为″.reload;~0s;.ecxr;kb;q″;其中,所述线程分析命令中指定分析的线程与所述推荐命令中推荐分析的线程相同。
所述第二分析结果中包括一些更准确详细的崩溃信息,例如所述线程的寄存器和堆栈信息,程序员根据这些寄存器和堆栈信息,能够更准确的判断崩溃原因。
如图5所示,可选的,在上述实施例中,在得到第二分析结果之后,所述方法还可以包括:
S105、根据所述第一分析结果和所述第二分析结果,生成总分析结果,所述总分析结果中包括所述崩溃点位置信息、所述崩溃点对应的源代码信息以及所述线程的寄存器和堆栈信息。
本实施例,所述总分析结果可以由所述第一分析结果和所述第二分析结果拼接而成,即所述总分析结果文本文件中包括第一分析结果的文本内容以及第二分析结果的文本内容,这样,程序员直接查看所述总分析结果,就能够获知崩溃点位置信息以及崩溃点位置对应的源代码信息,并且可以根据寄存器和堆栈信息具体分析崩溃。
如图6所示,可选的,在上述实施例中,在生成总分析结果之后,所述方法还可以包括:
S106、按照预设崩溃类型,对所述总分析结果进行归类处理;
S107、展示归类后的总分析结果。
本实施例,所述预设崩溃类型的数量可以至少为两个,例如,所述预设崩溃类型包括非法内存访问、资源访问冲突两类,或者,所述预设崩溃类型可以分层次设置,具体的,例如:第一层包括非法内存访问、资源访问冲突两类,在所述非法内存访问类目下,还细分了非法指针、共享访问冲突、内存访问越界、缓冲区溢出等具体类目,在所述资源访问冲突类目下,还细分了栈内存溢出、堆内存溢出、死锁等具体类目。
所述对所述总分结果进行归类处理,具体的,可以按照总分析结果中寄存器和堆栈信息等的特征,匹配上述相对应的崩溃类型,实现总分析结果的归类。
在所述崩溃文件有多个的情况下,将每个崩溃文件对应的总分析结果归类后再展示给程序员,这样,程序员可以优先处理崩溃类型较为紧急或较为严重的崩溃。
可选的,在上述实施例中,每个所述预设崩溃类型可以分别具有对应的优先级标识。本实施例,所述优先级标识用于标记所述预设崩溃类型的紧急程度,这样,程序员就可以直接根据所述优先级标识依次对各崩溃进行处理。
本实施例提供的一种崩溃文件的分析方法,可以应用于服务器,例如通过部署windows服务器cdb.exe自动完成分析,这样,程序员直接通过网页操作让服务器分析对应的dump文件并给出分析结果即可。程序员直接浏览分析结果,可以初步评估bug原因。实现了分析dump自动化,节约程序员分析dump的时间,大大提高崩溃文件的分析效率。
第二方面,本发明实施例提供一种崩溃文件的分析装置,能够自动分析崩溃文件,得到崩溃点位置信息以及崩溃点对应的源代码信息,大大提高崩溃文件的分析效率。
如图7所示,本发明实施例提供一种崩溃文件的分析装置,包括:
解析单元21,用于对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;
查找单元22,用于查找各所述功能模块对应的符号表文件;
第一分析单元23,用于根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。
可选的,所述解析单元具体用于:
调用目标分析工具根据第一解析命令对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块。
如图8所示,可选的,所述查找单元22具体包括::
获取子单元221,用于获取各所述功能模块的特征信息,所述功能模块的特征信息包括所述功能模块的版本号、构建日期、大小和编号;
查找子单元222,用于根据各所述功能模块的特征信息,查找每个所述功能模块所对应的符号表文件。
可选的,所述获取子单元具体用于:
根据所述功能模块的名称,生成第二解析命令;
调用目标分析工具根据所述第二解析命令对所述功能模块进行解析,得到所述功能模块的特征信息。
可选的,所述第一分析单元具体用于:
根据所述符号表文件,调用目标分析工具根据崩溃文件分析命令对崩溃文件进行分析,得到第一分析结果。
如图9所示,可选的,所述第一分析结果中还包括推荐命令;所述装置还包括:
第二分析单元24,用于根据所述推荐命令,对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果,所述第二分析结果中包括所述线程的寄存器和堆栈信息。
可选的,所述第二分析单元具体用于:
调用目标分析工具根据线程分析命令对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果。
如图10所示,可选的,所述装置还包括:
分析结果生成单元25,用于根据所述第一分析结果和所述第二分析结果,生成总分析结果,所述总分析结果中包括所述崩溃点位置信息、所述崩溃点对应的源代码信息以及所述线程的寄存器和堆栈信息。
如图11所示,可选的,所述装置还包括:
分类单元26,用于按照预设崩溃类型,对所述总分析结果进行归类处理;
展示单元27,用于展示归类后的总分析结果。
可选的,所述预设崩溃类型的数量至少为两个,每个所述预设崩溃类型分别具有相应的优先级标识。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图12为本发明电子设备一个实施例的结构示意图,可以实现本发明图1所示实施例的流程,如图12所示,上述电子设备可以包括:壳体31、处理器32、存储器33、电路板34和电源电路35,其中,电路板34安置在壳体31围成的空间内部,处理器32和存储器33设置在电路板34上;电源电路35,用于为上述电子设备的各个电路或器件供电;存储器33用于存储可执行程序代码;处理器32通过读取存储器33中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的崩溃文件的分析方法。
处理器32对上述步骤的具体执行过程以及处理器32通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种崩溃文件的分析方法,其特征在于,所述方法包括:
对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;
查找各所述功能模块对应的符号表文件;
根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,所述第一分析结果中包括崩溃点位置信息以及所述崩溃点对应的源代码信息。
2.根据权利要求1所述的方法,其特征在于,所述对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块;包括:
调用目标分析工具根据第一解析命令对崩溃文件进行解析,得到所述崩溃文件对应的进程中所包含的功能模块。
3.根据权利要求1所述的方法,其特征在于,所述查找各所述功能模块所对应的符号表文件,包括:
获取各所述功能模块的特征信息,所述功能模块的特征信息包括所述功能模块的版本号、构建日期、大小和编号;
根据各所述功能模块的特征信息,查找每个所述功能模块所对应的符号表文件。
4.根据权利要求3所述的方法,其特征在于,所述获取各所述功能模块的特征信息,包括:
根据所述功能模块的名称,生成第二解析命令;
调用目标分析工具根据所述第二解析命令对所述功能模块进行解析,得到所述功能模块的特征信息。
5.根据权利要求1所述的方法,其特征在于,所述根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果,包括:
根据所述符号表文件,调用目标分析工具根据崩溃文件分析命令对崩溃文件进行分析,得到第一分析结果。
6.根据权利要求1所述的方法,其特征在于,所述第一分析结果中还包括推荐命令;
在根据所述符号表文件,对所述崩溃文件进行分析,得到第一分析结果之后,所述方法还包括:
根据所述推荐命令,对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果,所述第二分析结果中包括所述线程的寄存器和堆栈信息。
7.根据权利要求6所述的方法,其特征在于,所述根据所述推荐命令,对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果,包括:
调用目标分析工具根据线程分析命令对所述推荐命令中推荐分析的线程进行分析,得到第二分析结果。
8.根据权利要求7所述的方法,其特征在于,在得到第二分析结果之后,所述方法还包括:
根据所述第一分析结果和所述第二分析结果,生成总分析结果,所述总分析结果中包括所述崩溃点位置信息、所述崩溃点对应的源代码信息以及所述线程的寄存器和堆栈信息。
9.根据权利要求8所述的方法,其特征在于,在生成总分析结果之后,所述方法还包括:
按照预设崩溃类型,对所述总分析结果进行归类处理;
展示归类后的总分析结果。
10.根据权利要求9所述的方法,其特征在于,所述预设崩溃类型的数量至少为两个,每个所述预设崩溃类型分别具有相应的优先级标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054720.8A CN112199224A (zh) | 2020-09-29 | 2020-09-29 | 一种崩溃文件的分析方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054720.8A CN112199224A (zh) | 2020-09-29 | 2020-09-29 | 一种崩溃文件的分析方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112199224A true CN112199224A (zh) | 2021-01-08 |
Family
ID=74008503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011054720.8A Pending CN112199224A (zh) | 2020-09-29 | 2020-09-29 | 一种崩溃文件的分析方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199224A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944059A (zh) * | 2010-08-20 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 计算机软件崩溃信息的自动分析方法和装置 |
CN107247667A (zh) * | 2017-06-02 | 2017-10-13 | 上海金大师网络科技有限公司 | 自动化dump分析系统及方法 |
CN111258802A (zh) * | 2020-02-10 | 2020-06-09 | 同盾控股有限公司 | 捕获应用程序崩溃信息的方法及相关设备 |
-
2020
- 2020-09-29 CN CN202011054720.8A patent/CN112199224A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944059A (zh) * | 2010-08-20 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 计算机软件崩溃信息的自动分析方法和装置 |
CN107247667A (zh) * | 2017-06-02 | 2017-10-13 | 上海金大师网络科技有限公司 | 自动化dump分析系统及方法 |
CN111258802A (zh) * | 2020-02-10 | 2020-06-09 | 同盾控股有限公司 | 捕获应用程序崩溃信息的方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
JS_JAMMY: "用WinDbg进行调试", Retrieved from the Internet <URL:http://blog.chinaunix.net/uid-20476365-id-1942503.html> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502357A (zh) | 一种栈回溯方法、装置、介质和设备 | |
CN111427782A (zh) | 安卓动态链接库的运行方法、装置、设备及存储介质 | |
CN107797996B (zh) | 一种词条翻译方法及装置 | |
CN109840210A (zh) | 一种测试方法、装置及电子设备 | |
CN112365192A (zh) | 制造执行系统中流程模型的建立方法、电子设备以及流程模型的解析方法 | |
CN115981613A (zh) | 多硬件设备软件适配方法、电子设备及可读存储介质 | |
CN115934503A (zh) | 程序测试方法、装置、设备及存储介质 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 | |
CN111385661B (zh) | 语音控制全屏播放的方法、装置、终端及存储介质 | |
CN112711427A (zh) | 一种镜像文件的获取方法以及装置 | |
EP3540598A1 (en) | Method, device and server for checking a defective function | |
CN110941443B (zh) | 修改sdk中文件名的方法、装置及电子设备 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN110286990B (zh) | 用户界面展示方法、装置、设备及存储介质 | |
CN112199224A (zh) | 一种崩溃文件的分析方法、装置、电子设备及存储介质 | |
CN110908882A (zh) | 一种应用程序的性能分析方法、装置、终端设备及介质 | |
CN111242731B (zh) | 一种业务执行的方法及装置 | |
CN113760249B (zh) | 程序文件的处理方法、装置及设备 | |
CN115098297A (zh) | 一种云原生存储数据卷的一致性快照生成方法和系统 | |
CN113781275A (zh) | 一种教育资源管理方法及服务器 | |
CN114356290A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN113918444A (zh) | 崩溃源代码定位方法、装置、介质及电子设备 | |
CN113760237A (zh) | 编译地址的更新方法、装置、终端设备及可读存储介质 | |
CN112698791A (zh) | 一种系统磁盘的清理方法、装置、电子设备及存储介质 | |
CN114443375A (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 |