CN104077210B - 一种客户端崩溃的定位方法及系统 - Google Patents
一种客户端崩溃的定位方法及系统 Download PDFInfo
- Publication number
- CN104077210B CN104077210B CN201410247943.4A CN201410247943A CN104077210B CN 104077210 B CN104077210 B CN 104077210B CN 201410247943 A CN201410247943 A CN 201410247943A CN 104077210 B CN104077210 B CN 104077210B
- Authority
- CN
- China
- Prior art keywords
- client
- behavior
- collapsed
- collapse
- information
- 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
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种客户端崩溃的定位方法,包括:获取发生崩溃的客户端的进程日志;获取所述客户端的镜像文件、屏幕录制信息和操作行为信息中至少一个;依据所述客户端的镜像文件、屏幕录制信息和操作行为信息中至少一个以及所述进程日志,获得所述客户端的崩溃信息。本发明实施例还提供一种客户端崩溃的定位系统。根据本发明实施例提供的技术方案,可以实现提高客户端崩溃的定位效率和定位可靠性。
Description
【技术领域】
本发明涉及计算机软件技术,尤其涉及一种客户端崩溃的定位方法及系统。
【背景技术】
客户端可能由于种种原因而出现崩溃的问题,例如,在客户端的测试过程中或者客户端的使用过程中,都会出现崩溃的问题。客户端崩溃指的是实现客户端的代码的逻辑错误或者客户端内部对异常情况处理不当,导致的客户端停止反应或者非正常退出等症状。一旦客户端发生崩溃问题,就可能需要等待很长一段时间才能够继续使用或者继续测试,因此,需要及时找到客户端崩溃的原因,以避免由于客户端的崩溃影响用户使用。
然而,当客户端出现崩溃后,需要人为回忆上一次的操作。由于客户端崩溃一般出现在无规律的随机操作中,因此,依赖人为对上一次操作进行重现这种客户端崩溃的定位方式的效率和可靠性比较低。
【发明内容】
有鉴于此,本发明实施例提供了一种客户端崩溃的定位方法及系统,可以实现提高客户端崩溃的定位效率和定位可靠性。
本发明实施例提供了一种客户端崩溃的定位方法,包括:
获取发生崩溃的客户端的进程日志;
获取所述客户端的镜像文件和操作行为信息中至少一个;
依据所述客户端的镜像文件和操作行为信息中至少一个以及所述进程日志,获得所述客户端的崩溃信息。
上述方法中,所述获取发生崩溃的客户端的进程日志之前,所述方法还包括:
所述客户端发生崩溃时,通过所述客户端所在终端的操作系统提供的崩溃处理API的入口地址,将运行所述客户端的进程的相关信息输入到所述崩溃处理API;
依据预设的所述崩溃处理API的入口地址,对所述崩溃处理API进行监听,以获得输入到所述崩溃处理API的所述相关信息;
依据所述相关信息和所述客户端发生崩溃的时间,生成所述发生崩溃的客户端的进程日志。
上述方法中,所述获取所述客户端的镜像文件之前,所述方法还包括:
所述客户端发生崩溃后,生成镜像文件;
将所述镜像文件写入存储装置中;
其中,所述镜像文件包括所述客户端发生崩溃时运行所述客户端的进程状态信息和所述客户端的属性信息。
上述方法中,所述获取所述客户端的操作行为信息,包括:
获取所述客户端发生崩溃之前所述终端上的操作行为;
若预设的操作行为类型包括获取的所述操作行为,依据获取的所述操作行为和所述操作行为的时间,生成所述操作行为信息;
其中,所述操作行为类型包括以下行为中至少一种:鼠标单击行为、鼠标双击行为、鼠标悬停行为、鼠标拖拽行为、触碰行为和按键输入行为。
上述方法中,所述方法还包括:
按照预设的提示方式,向用户推送提示信息,所述提示信息包括依据所述客户端的崩溃信息获得的所述客户端的崩溃信息摘要;
所述提示方式包括以下方式中至少一种:邮件提示、短信息提示和提示框提示。
上述方法中,所述方法还包括:显示所述客户端的崩溃信息。
本发明实施例还提供了一种客户端崩溃的定位系统,包括:
第一获取单元,用于获取发生崩溃的客户端的进程日志;
第二获取单元,用于获取所述客户端的镜像文件和操作行为信息中至少一个;
分析单元,用于依据所述客户端的镜像文件和操作行为信息中至少一个以及所述进程日志,获得所述客户端的崩溃信息。
上述系统中,所述系统还包括:
调用单元,用于所述客户端发生崩溃时,通过所述客户端所在终端的操作系统提供的崩溃处理API的入口地址,将运行所述客户端的进程的相关信息输入到所述崩溃处理API;
监听单元,用于依据预设的所述崩溃处理API的入口地址,对所述崩溃处理API进行监听,以获得输入到所述崩溃处理API的所述相关信息;
第一生成单元,用于依据所述相关信息和所述客户端发生崩溃的时间,生成所述发生崩溃的客户端的进程日志。
上述系统中,所述系统还包括:
第二生成单元,用于所述客户端发生崩溃后,生成镜像文件;
写入单元,用于将所述镜像文件写入存储装置中;
其中,所述镜像文件包括所述客户端发生崩溃时运行所述客户端的进程状态信息和所述客户端的属性信息。
上述系统中,所述第二获取单元,具体用于:
获取所述客户端发生崩溃之前所述终端上的操作行为;
若预设的操作行为类型包括获取的所述操作行为,依据获取的所述操作行为和所述操作行为的时间,生成所述操作行为信息;
其中,所述操作行为类型包括以下行为中至少一种:鼠标单击行为、鼠标双击行为、鼠标悬停行为、鼠标拖拽行为、触碰行为和按键输入行为。
上述系统中,所述系统还包括:
推送单元,用于按照预设的提示方式,向用户推送提示信息,所述提示信息包括依据所述客户端的崩溃信息获得的所述客户端的崩溃信息摘要;
所述提示方式包括以下方式中至少一种:邮件提示、短信息提示和提示框提示。
上述系统中,所述系统还包括:
显示单元,用于显示所述客户端的崩溃信息。
由以上技术方案可以看出,本发明实施例具有以下有益效果:
能够自动获取发生崩溃的客户端的进程日志,以及客户端的镜像文件和操作行为信息中至少一个,然后依据获取的信息获得客户端的崩溃信息,以实现客户端崩溃的定位,与现有技术中,当客户端发生崩溃后,依赖人为回忆上一次的操作方式相比,本发明实施例能够提高客户端崩溃的定位效率,从而可以缩短客户端测试周期,提高客户端的测试效率。
本发明实施例中,实现客户端崩溃的定位是依赖客观数据,与现有技术中依赖人为回忆上一次的操作相比,能够提高客户端崩溃的定位的准确性和可靠性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的客户端崩溃的定位方法的流程示意图;
图2是本发明实施例所提供的客户端崩溃的定位系统的功能方块图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
取决于语境,如在此所使用的词语“如果”或者“若”可以被解释成为“在……时”或“当……时”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
本发明实施例所提供的方法和系统可以在客户端中实现,也可以在客户端所在终端中实现。本发明实施例中,所述客户端可以包括各种客户端,如杀毒软件、浏览器等。所述客户端包括所有用户设备上运行的客户端,所述用户设备可以包括个人计算机(PersonalComputer,PC)、笔记本电脑、手机或平板电脑。
本发明实施例给出一种客户端崩溃的定位方法,请参考图1,其为本发明实施例所提供的客户端崩溃的定位方法的流程示意图,如图所示,该方法包括以下步骤:
S101,获取发生崩溃的客户端的进程日志。
具体的,终端可以提供配置界面,该配置界面包括输入框,用户可以在该输入框中输入运行待监控的客户端的进程名称。例如,若待监控的客户端是IE浏览器,则在输入框中输入运行IE浏览器的进程名称“iexplore.exe”。再例如,若待监控的杀毒软件是金山杀毒软件,则在输入框中输入运行金山杀毒软件的进程名称“kavstare.exe”。
在配置好运行待监控的客户端的进程名称后,就可以对配置的客户端进行监控,当监控的客户端发生崩溃后,获取发生崩溃的客户端的进程日志。
举例说明,获取发生崩溃的客户端的进程日志的方法可以包括:
首先,可以利用应用程序编程接口(Application Programming Interface,API)钩子(Hook)技术,将客户端所在操作系统提供的崩溃处理API与Hook工具关联,其关联方法是在Hook工具的配置信息中增加崩溃处理API的入口地址。
当待监控的客户端发生崩溃时,可以由客户端调用所在操作系统提供的崩溃处理API,通过所述客户端所在终端的操作系统提供的崩溃处理API的入口地址,将运行所述客户端的进程的相关信息作为参数输入到所述崩溃处理API。或者,客户端所在操作系统主动调用崩溃处理API,通过所述客户端所在终端的操作系统提供的崩溃处理API的入口地址,将运行所述客户端的进程的相关信息作为参数输入到所述崩溃处理API。
然后,由于Hook工具中预先配置了所述崩溃处理API的入口地址,所以Hook工具可以对所述崩溃处理API的入口地址进行监听;一旦所述崩溃处理API被调用,Hook工具就可以依据预设的所述崩溃处理API的入口地址,截获通过该入口地址输入的运行所述客户端的进程的相关信息,从而Hook就可以获得输入到所述崩溃处理API的该相关信息。
最后,可以依据运行所述客户端的进程的相关信息和所述客户端发生崩溃的时间,生成所述发生崩溃的客户端的进程日志。
优选的,所述客户端所在终端的操作系统可以为Windows操作系统。运行所述客户端的进程的相关信息包括运行所述客户端的进程名称和所述客户端调用的函数信息。所述发生崩溃的客户端的进程日志包括所述客户端的进程的相关信息和所述客户端发生崩溃的时间。
可选的,在获取发生崩溃的客户端的进程日志之后,可以将获取的发生崩溃的客户端的进程日志存储在特定目录中;优选的,发生崩溃的客户端的进程日志的格式可以为txt文本格式。
S102,获取所述客户端的镜像文件、屏幕录制信息和操作行为信息中至少一个。
具体的,举例说明,获取所述客户端的镜像文件的方法可以包括:待监控的客户端发生崩溃后,该发生崩溃的客户端会生成一个镜像文件(Dump文件),该镜像文件指的是运行所述待监控的客户端的进程的内存镜像。然后,所述发生崩溃的客户端将生成的镜像文件写入存储装置中;例如,所述存储装置可以包括磁盘或者内存。因此,所述客户端发生崩溃后,可以依据预设的存储地址,从所述存储装置中,获取所述客户端的镜像文件。优选的,所述镜像文件包括所述客户端发生崩溃时运行所述客户端的进程状态信息以及所述客户端的属性信息;例如,运行所述客户端的进程状态信息可以包括所述客户端的堆栈信息、所述客户端使用所述客户端所在终端的操作系统资源的情况信息等。例如,所述客户端的属性信息可以包括客户端的版本信息和客户端的权限信息等。
举例说明,获取所述客户端的屏幕录制信息的方法可以包括:终端提供的配置界面可以包括是否进行屏幕录制的选项,通过该选项可以预先设置对待监控的客户端在运行过程中是否进行屏幕录制。
若需要进行屏幕录制,则可以依据预设的截屏时间间隔和预设的图片格式,调用自动截屏工具对客户端所在终端的屏幕进行实时截屏,以获得截屏图片,从而可以实现屏幕录制。也可以调用snapGet函数对客户端所在终端的屏幕进行实时截屏。在获得截屏图片后,可以依据预设的保存路径将截屏图片保存在特定目录下的文件中。
这里,如果进行屏幕录制,则可以在客户端发生崩溃后,通过查看截屏图片获得在发生崩溃前,客户端上有哪些操作行为,从而可以获知哪个操作行为导致的客户端发生崩溃,从而实现快速的崩溃定位。
举例说明,获取所述客户端的操作行为信息的方法可以包括:
终端提供的配置界面可以包括操作行为类型的选项,可以选中需要对客户端进行监控的操作行为类型。例如,所述操作行为类型可以包括以下行为中至少一种:鼠标单击行为、鼠标双击行为、鼠标悬停行为、鼠标拖拽行为、触碰行为和按键输入行为等。
首先,获取所述客户端发生崩溃之前所述终端上的操作行为。
优选的,获取所述客户端发生崩溃之前所述终端上的鼠标操作行为的方法可以是:客户端所在终端的操作系统中都绑定有JavaScript鼠标事件,当所述终端上发生鼠标操作行为时,就会触发相应的JavaScript鼠标事件,依据被触发的JavaScript鼠标事件以及JavaScript鼠标事件与鼠标操作行为的对应关系,可以获知对应的鼠标的具体操作行为。例如,当在客户端所在终端上单击鼠标时,onClick事件会被触发,则确定客户端所在终端上的操作行为是鼠标单击;同时,MouseDown事件也会被触发,可以从该MouseDown事件的参数类型中获得x值和y值,该x值和y值就是鼠标点击位置。再例如,当在客户端所在终端上拖拽浏览器时,onMove事件会被触发,则确定客户端所在终端上的操作行为是鼠标拖拽。
优选的,获取所述客户端发生崩溃之前所述终端上的按键输入行为的方法可以是:客户端所在终端的操作系统中都绑定有JavaScript键盘事件,当所述终端上发生按键输入行为时,就会触发相应的JavaScript键盘事件,依据该JavaScript键盘事件以及JavaScript键盘事件与按键输入行为的对应关系,可以获知键盘中哪些按键被按下,以及依据JavaScript键盘事件的触发次数,可以获知按键被按下的次数。
优选的,获取所述客户端发生崩溃之前所述终端上的触碰行为的方法可以是:若所述客户端所在终端的显示屏是触摸屏,该触摸屏中的传感器可以检测到触摸屏上的触碰行为,获得触碰的位置信息。
然后,获取所述客户端发生崩溃之前所述客户端上操作行为之后,若预设的操作行为类型中包括获取的所述操作行为,则依据获取的所述操作行为和所述操作行为的时间,生成所述操作行为信息。所述操作行为信息中包括客户端发生崩溃之前所述客户端上的操作行为以及发生该操作行为的时间。可以将生成的操作行为信息保存在特定目录下的日志中。优选的,该日志的格式可以是txt文本格式。
S103,依据所述客户端的镜像信息、屏幕录制信息和操作行为信息中至少一个以及所述进程日志,获得所述客户端的崩溃信息。
具体的,依据特定目录下存储的所述客户端的镜像信息、屏幕录制信息和操作行为信息中至少一个以及特定目录下存储的所述进程日志,获得所述客户端的崩溃信息。
优选的,所述客户端的崩溃信息可以是依据所述客户端的镜像信息、屏幕录制信息和操作行为信息中至少一个以及所述进程日志,进行分析处理后,获得的崩溃信息;也可以不进行分析,这样,获得的崩溃信息直接包括所述客户端的镜像信息、屏幕录制信息和操作行为信息中至少一个以及所述进程日志。
需要说明的是,客户端所在终端提供的配置界面可以包括输入框,可以在该输入框中输入监控的时间间隔,或者,客户端所在终端提供的配置界面可以包括时间间隔的选项,可以直接选择时间间隔。例如,所述监控的时间间隔可以配置为1秒、2秒、5秒或者10秒。可以依据预设的监控的时间间隔对客户端进行监控,以获取上述进程日志以及所述客户端的镜像信息、屏幕录制信息和操作行为信息中至少一个。
可选的,S103之后所述方法还包括:
按照预设的提示方式,向用户推送提示信息,所述提示信息包括依据所述客户端的崩溃信息获得的所述客户端的崩溃信息摘要。
具体的,客户端所在终端提供的配置界面可以包括提示方式的选项,可以预先选择提示方式。例如,所述提示方式可以包括以下方式中至少一种:邮件提示、短信息提示和提示框提示。例如,可以预先设置邮箱地址,当客户端发生崩溃后,将崩溃信息摘要发送到该邮箱地址。再例如,当客户端发生崩溃后,在客户端所在终端中弹出提示框,提示框中包含该崩溃信息摘要。再例如,可以预先设置接收短信息的手机号码,当客户端发生崩溃后,将崩溃信息摘要发送到该手机号码所在手机。
按照预设的提示方式,向用户推送提示信息,所述提示信息包括依据所述客户端的崩溃信息获得的所述客户端的崩溃信息摘要。例如,崩溃信息摘要可以包括运行发生崩溃的客户端的进程名称和发生崩溃的时间等。这里,由于需要在客户端发生崩溃后,向用户报警,但是由于崩溃信息的内容比较多,所以可以按照提示方式先向用户推送崩溃信息摘要,以提示用户及时查看崩溃信息,如果用户需要进一步查看崩溃信息,可以在特定目录下查看所需要的崩溃信息。
优选的,所述方法还包括:显示所述客户端的崩溃信息。
具体的,在客户端发生崩溃后,可以直接在客户端所在终端上显示发生崩溃的客户端的崩溃信息,也可以在用户需要查看崩溃信息时,依据用户的操作,显示崩溃信息。这样,就可以及时获得客户端的崩溃信息,实现客户端的崩溃定位。
需要说明的是,上述技术方案中,监控的客户端发生崩溃后,可以立刻停止对客户端的监控,即立刻停止获取进程日志、镜像文件、屏幕录制信息或操作行为信息等,并向用户推送提示信息,还可以显示获得的崩溃信息,以尽快对客户端的崩溃进行定位和及时修复。或者,客户端发生崩溃后,也可以保持客户端的监控。是否停止对客户端进行监控,不影响向用户推送提示信息,以及显示崩溃信息。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
本发明实施例还给出一种客户端崩溃的定位系统,请参考图2,其为本发明实施例所提供的客户端崩溃的定位系统的功能方块图。如图所示,该系统包括:
第一获取单元201,用于获取发生崩溃的客户端的进程日志;
第二获取单元202,用于获取所述客户端的镜像文件、屏幕录制信息和操作行为信息中至少一个;
分析单元203,用于依据所述客户端的镜像文件、屏幕录制信息和操作行为信息中至少一个以及所述进程日志,获得所述客户端的崩溃信息。
可选的,所述系统还包括:
调用单元204,用于所述客户端发生崩溃时,通过所述客户端所在终端的操作系统提供的崩溃处理API的入口地址,将运行所述客户端的进程的相关信息输入到所述崩溃处理API;
监听单元205,用于依据预设的所述崩溃处理API的入口地址,对所述崩溃处理API进行监听,以获得输入到所述崩溃处理API的所述相关信息;
第一生成单元206,用于依据所述相关信息和所述客户端发生崩溃的时间,生成所述发生崩溃的客户端的进程日志。
可选的,所述系统还包括:
第二生成单元207,用于所述客户端发生崩溃后,生成镜像文件;
写入单元208,用于将所述镜像文件写入存储装置中;
其中,所述镜像文件包括所述客户端发生崩溃时运行所述客户端的进程状态信息和所述客户端的属性信息。
优选的,所述第二获取单元202,具体用于:
获取所述客户端发生崩溃之前所述终端上的操作行为;
若预设的操作行为类型包括获取的所述操作行为,依据获取的所述操作行为和所述操作行为的时间,生成所述操作行为信息;
其中,所述操作行为类型包括以下行为中至少一种:鼠标单击行为、鼠标双击行为、鼠标悬停行为、鼠标拖拽行为、触碰行为和按键输入行为。
可选的,所述系统还包括:
推送单元209,用于按照预设的提示方式,向用户推送提示信息,所述提示信息包括依据所述客户端的崩溃信息获得的所述客户端的崩溃信息摘要;
所述提示方式包括以下方式中至少一种:邮件提示、短信息提示和提示框提示。
可选的,所述系统还包括:显示单元210,用于显示所述客户端的崩溃信息。
由于本实施例中的各单元能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。
本发明实施例的技术方案具有以下有益效果:
本发明实施例的技术方案中,能够自动获取发生崩溃的客户端的进程日志,以及客户端的镜像文件、屏幕录制信息和操作行为信息中至少一个,然后依据获取的信息获得客户端的崩溃信息,以实现客户端崩溃的定位,与现有技术中,当客户端发生崩溃后,依赖人为回忆上一次的操作,实现客户端崩溃的定位的方式相比,本发明实施例的上述技术方案能够提高客户端崩溃的定位效率,从而可以缩短客户端测试周期,提高客户端的测试效率,还可以为用户提供更多更加丰富的崩溃信息。而且,本发明实施例中,实现客户端崩溃的定位是依赖客观数据,如客户端的进程日志、客户端的镜像文件、屏幕录制信息和操作行为信息等,因此,与现有技术中依赖人为回忆上一次的操作相比,能够提高客户端崩溃的定位的准确性和可靠性。
例如,表1是利用本发明实施例提供的技术方案与现有技术相比,获得崩溃信息的时间对比:
表1
如表1所示,利用本发明实施例提供的技术方案得到的实验数据中,崩溃的定位时间比现有技术所使用的定位时间平均减少50%。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种客户端崩溃的定位方法,其特征在于,所述方法包括:
获取发生崩溃的客户端的进程日志;
获取所述客户端的镜像文件和操作行为信息中至少一个;
依据所述客户端的镜像文件和操作行为信息中至少一个以及所述进程日志,获得所述客户端的崩溃信息;
所述获取发生崩溃的客户端的进程日志之前,所述方法还包括:
所述客户端发生崩溃时,通过所述客户端所在终端的操作系统提供的崩溃处理API的入口地址,将运行所述客户端的进程的相关信息输入到所述崩溃处理API;
依据预设的所述崩溃处理API的入口地址,对所述崩溃处理API进行监听,以获得输入到所述崩溃处理API的所述相关信息;
依据所述相关信息和所述客户端发生崩溃的时间,生成所述发生崩溃的客户端的进程日志。
2.根据权利要求1所述的方法,其特征在于,所述获取所述客户端的镜像文件之前,所述方法还包括:
所述客户端发生崩溃后,生成镜像文件;
将所述镜像文件写入存储装置中;
其中,所述镜像文件包括所述客户端发生崩溃时运行所述客户端的进程状态信息和所述客户端的属性信息。
3.根据权利要求1所述的方法,其特征在于,所述获取所述客户端的操作行为信息,包括:
获取所述客户端发生崩溃之前所述终端上的操作行为;
若预设的操作行为类型包括获取的所述操作行为,依据获取的所述操作行为和所述操作行为的时间,生成所述操作行为信息;
其中,所述操作行为类型包括以下行为中至少一种:鼠标单击行为、鼠标双击行为、鼠标悬停行为、鼠标拖拽行为、触碰行为和按键输入行为。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
按照预设的提示方式,向用户推送提示信息,所述提示信息包括依据所述客户端的崩溃信息获得的所述客户端的崩溃信息摘要;
所述提示方式包括以下方式中至少一种:邮件提示、短信息提示和提示框提示。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:显示所述客户端的崩溃信息。
6.一种客户端崩溃的定位系统,其特征在于,所述系统包括:
第一获取单元,用于获取发生崩溃的客户端的进程日志;
第二获取单元,用于获取所述客户端的镜像文件和操作行为信息中至少一个;
分析单元,用于依据所述客户端的镜像文件和操作行为信息中至少一个以及所述进程日志,获得所述客户端的崩溃信息;
所述系统还包括:
调用单元,用于所述客户端发生崩溃时,通过所述客户端所在终端的操作系统提供的崩溃处理API的入口地址,将运行所述客户端的进程的相关信息输入到所述崩溃处理API;
监听单元,用于依据预设的所述崩溃处理API的入口地址,对所述崩溃处理API进行监听,以获得输入到所述崩溃处理API的所述相关信息;
第一生成单元,用于依据所述相关信息和所述客户端发生崩溃的时间,生成所述发生崩溃的客户端的进程日志。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
第二生成单元,用于所述客户端发生崩溃后,生成镜像文件;
写入单元,用于将所述镜像文件写入存储装置中;
其中,所述镜像文件包括所述客户端发生崩溃时运行所述客户端的进程状态信息和所述客户端的属性信息。
8.根据权利要求6所述的系统,其特征在于,所述第二获取单元,具体用于:
获取所述客户端发生崩溃之前所述终端上的操作行为;
若预设的操作行为类型包括获取的所述操作行为,依据获取的所述操作行为和所述操作行为的时间,生成所述操作行为信息;
其中,所述操作行为类型包括以下行为中至少一种:鼠标单击行为、鼠标双击行为、鼠标悬停行为、鼠标拖拽行为、触碰行为和按键输入行为。
9.根据权利要求6至8中任一项所述的系统,其特征在于,所述系统还包括:
推送单元,用于按照预设的提示方式,向用户推送提示信息,所述提示信息包括依据所述客户端的崩溃信息获得的所述客户端的崩溃信息摘要;
所述提示方式包括以下方式中至少一种:邮件提示、短信息提示和提示框提示。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括:
显示单元,用于显示所述客户端的崩溃信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247943.4A CN104077210B (zh) | 2014-06-06 | 2014-06-06 | 一种客户端崩溃的定位方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247943.4A CN104077210B (zh) | 2014-06-06 | 2014-06-06 | 一种客户端崩溃的定位方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104077210A CN104077210A (zh) | 2014-10-01 |
CN104077210B true CN104077210B (zh) | 2017-06-06 |
Family
ID=51598478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410247943.4A Active CN104077210B (zh) | 2014-06-06 | 2014-06-06 | 一种客户端崩溃的定位方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104077210B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461847B (zh) * | 2014-12-03 | 2018-02-23 | 北京国双科技有限公司 | 数据处理程序检测方法及装置 |
CN107643968A (zh) * | 2016-07-20 | 2018-01-30 | 平安科技(深圳)有限公司 | 崩溃日志处理方法及装置 |
CN109257196A (zh) * | 2017-07-12 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种异常处理方法及设备 |
CN113591090B (zh) * | 2020-04-30 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 程序漏洞的上报方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770422A (zh) * | 2008-12-30 | 2010-07-07 | 鸿富锦精密工业(深圳)有限公司 | 软件Bug追踪方法及其计算机系统 |
CN102768639A (zh) * | 2012-06-11 | 2012-11-07 | 北京奇虎科技有限公司 | 操作系统内核级错误定位方法及装置 |
US8621282B1 (en) * | 2011-05-19 | 2013-12-31 | Google Inc. | Crash data handling |
CN103678109A (zh) * | 2012-09-25 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种转储文件分析方法、装置和系统 |
CN103838663A (zh) * | 2012-11-20 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191364B2 (en) * | 2003-11-14 | 2007-03-13 | Microsoft Corporation | Automatic root cause analysis and diagnostics engine |
US8745202B2 (en) * | 2009-04-03 | 2014-06-03 | Google Inc. | Tracking remote browser crashes via cookies |
US8966447B2 (en) * | 2010-06-21 | 2015-02-24 | Apple Inc. | Capturing and displaying state of automated user-level testing of a graphical user interface application |
-
2014
- 2014-06-06 CN CN201410247943.4A patent/CN104077210B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770422A (zh) * | 2008-12-30 | 2010-07-07 | 鸿富锦精密工业(深圳)有限公司 | 软件Bug追踪方法及其计算机系统 |
US8621282B1 (en) * | 2011-05-19 | 2013-12-31 | Google Inc. | Crash data handling |
CN102768639A (zh) * | 2012-06-11 | 2012-11-07 | 北京奇虎科技有限公司 | 操作系统内核级错误定位方法及装置 |
CN103678109A (zh) * | 2012-09-25 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种转储文件分析方法、装置和系统 |
CN103838663A (zh) * | 2012-11-20 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104077210A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10914619B2 (en) | Electronic device and hardware diagnosis result-based process execution method thereof | |
US10554805B2 (en) | Information processing method, terminal, and computer-readable storage medium | |
US9754098B2 (en) | Providing policy tips for data loss prevention in collaborative environments | |
KR102390082B1 (ko) | 전자 장치의 동작 방법 및 전자 장치 | |
KR102568097B1 (ko) | 파싱 데이터의 관련 정보를 표시하는 방법 및 전자 장치 | |
KR102396685B1 (ko) | 전자 장치의 모니터링 방법 및 장치 | |
CN108829487B (zh) | 一种弹窗的展示方法、装置、存储介质及终端 | |
KR102379171B1 (ko) | 전자 장치 및 그의 영상 표시 방법 | |
KR102407323B1 (ko) | 전자 장치 및 가스 센서의 활용 방법 | |
TW201606663A (zh) | 共享日曆的時間線 | |
CN107741902B (zh) | 程序应用检测方法及程序应用检测装置 | |
CN104077210B (zh) | 一种客户端崩溃的定位方法及系统 | |
US20120102373A1 (en) | Method and apparatus for error video creation, playback and reporting | |
WO2020156313A1 (zh) | 操作的执行方法、装置、终端及存储介质 | |
KR102558349B1 (ko) | 조건부 액션에 대한 정보를 공유하기 위한 방법 및 그 전자 장치 | |
CN103826164B (zh) | 视频观看记录的方法及装置 | |
US20140380479A1 (en) | Method and System for Controlling Closing of Terminal, and Computer Storage Medium | |
KR20160036970A (ko) | 전자 장치 및 전자 장치에서 알림을 제어하는 방법 | |
KR20170100309A (ko) | 음성 인식 제어를 제공하는 전자 장치 및 그 동작 방법 | |
KR102569998B1 (ko) | 어플리케이션에 대한 알림을 관리하는 방법 및 그 전자 장치 | |
KR102520398B1 (ko) | 사용자 데이터를 저장하는 전자 장치 및 그 방법 | |
US9152872B2 (en) | User experience analysis system to analyze events in a computer desktop | |
US10645211B2 (en) | Text input method and electronic device supporting the same | |
KR102439786B1 (ko) | 컨텐츠 정보를 공유하기 위한 방법 및 그 전자 장치 | |
CN106843644A (zh) | 一种建立桌面图标的方法和装置 |
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 |