一种多线程软件崩溃信息收集方法、装置及相关介质制造方法及图纸

技术编号:38717029 阅读:25 留言:0更新日期:2023-09-08 14:59
本发明专利技术公开了一种多线程软件崩溃信息收集方法、装置及相关介质,该方法包括:预先设置一全局静态的哈希表;当软件的代码程序开发完成后,通过代码注入工具对代码程序进行监控对象埋点注入;当代码程序运行至目标函数时,调用构造函数;通过构造函数获取当前线程的线程ID,并在哈希表中获取与线程ID相关联的第一崩溃标识字符串列表;在目标函数运行结束时,调用释构函数;通过释构函数调用当前线程的线程ID,并在哈希表中获取与线程ID相关联的第二崩溃标识字符串列表;获取崩溃标识字符串列表不为空的目标列表;对目标列表的列表内容收集及分析。本发明专利技术可提高软件崩溃信息的收集效率,降低对于软件崩溃信息的收集及分析成本。降低对于软件崩溃信息的收集及分析成本。降低对于软件崩溃信息的收集及分析成本。

【技术实现步骤摘要】
一种多线程软件崩溃信息收集方法、装置及相关介质


[0001]本专利技术涉及计算机软件
,特别涉及一种多线程软件崩溃信息收集方法、装置及相关介质。

技术介绍

[0002]在windows系统下,对于线上软件的崩溃信息的传统收集方式是通过调用异常监听函数SetUnhandledExceptionFilter来设置回调接口,当软件异常崩溃时会通过回调函数生成dump文件(进程的内存镜像),然后将dump文件上传到服务器,再由软件工程师逐一下载dump文件来进行分析定位。该方式在碰到多线程软件崩溃的时候,分析问题的成本会显著提高,同时分析定位问题的本质原因的复杂度也会显著增加。并且上述方式不仅仅需要付出服务器的维护成本,还需要占用软件工程师用于分析定位问题的时间成本。此外,该方式对于软件工程师也有一定的能力要求,这同样会增加人工成本。

技术实现思路

[0003]本专利技术实施例提供了一种多线程软件崩溃信息收集方法、装置、计算机设备及存储介质,旨在提高软件崩溃信息的收集效率,降低对于软件崩溃信息的收集及分析成本。
[0004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多线程软件崩溃信息收集方法,其特征在于,包括:预先设置一全局静态的哈希表;其中,所述哈希表以存储线程ID为索引,并包含有崩溃标识字符串列表;当软件的代码程序开发完成后,通过代码注入工具对所述代码程序进行监控对象埋点注入;其中,所述监控对象包括构造函数和释构函数;运行所述代码程序,并当所述代码程序运行至目标函数时,通过所述监控对象调用所述构造函数;通过所述构造函数获取当前线程的线程ID,并在所述哈希表中获取与所述线程ID相关联的第一崩溃标识字符串列表;在所述目标函数运行结束时,通过所述监控对象调用所述释构函数;通过所述释构函数调用当前线程的线程ID,并在所述哈希表中获取与所述线程ID相关联的第二崩溃标识字符串列表;遍历所述哈希表,并获取崩溃标识字符串列表不为空的目标列表;对所述目标列表的列表内容数据格式转化,得到崩溃数据,并将所述崩溃数据上报,然后对上报的崩溃数据进行收集及分析。2.根据权利要求1所述的多线程软件崩溃信息收集方法,其特征在于,所述当软件的代码程序开发完成后,通过代码注入工具对所述代码程序进行监控对象埋点注入,包括:遍历所述代码程序,并生成类图;通过classview插件获取所述类图的类图信息;其中,所述类图信息包括函数名称、代码文件和代码行号;根据所述类图信息将所述监控对象注入至函数体内的起始位置;将所述代码程序中的变量定义为CrashMonitor参数;遍历所述classview插件提供的类图的所有函数名称,并通过所述函数名称定位到代码文件的代码行数,然后向下查找包含有CrashMonitor定义的变量,以识别注入的监控对象。3.根据权利要求1所述的多线程软件崩溃信息收集方法,其特征在于,所述通过所述构造函数获取当前线程的线程ID,并在所述哈希表中获取与所述线程ID相关联的第一崩溃标识字符串列表,包括:判断所述线程ID是否存在于所述哈希表中;若所述线程ID未存在于所述哈希表中,则创建一个空的崩溃标识字符串列表,使所述空的崩溃标识字符串列表与所述线程ID建立哈希表联系,并存入至所述哈希表以及在列表尾部添加崩溃标识字符串;若所述线程ID存在于所述哈希表中,则获取与所述线程ID关联的第一崩溃标识字符串列表,并在列表尾部添加崩溃标识字符串。4.根据权利要求1所述的多线程软件崩溃信息收集方法,其特征在于,所述通过所述释构函数调用当前线程的线程ID,并在所述哈希表中获取与所述线程ID相关联的第二崩溃标识字符串列表,包括:判断所述线程ID是否存在于所述哈希表中;当判定所述线程ID存在于所述哈希表时,获取与所述线程ID相关联的第二崩溃标识字
符串列表,并删除列表尾部的崩溃标识字符串。5.根据权利要求1所述的多线...

【专利技术属性】
技术研发人员:罗钟慧
申请(专利权)人:深圳软牛科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1