CN106294071A - 一种软件崩溃信息收集方法及其系统 - Google Patents
一种软件崩溃信息收集方法及其系统 Download PDFInfo
- Publication number
- CN106294071A CN106294071A CN201610655301.7A CN201610655301A CN106294071A CN 106294071 A CN106294071 A CN 106294071A CN 201610655301 A CN201610655301 A CN 201610655301A CN 106294071 A CN106294071 A CN 106294071A
- Authority
- CN
- China
- Prior art keywords
- software
- file
- exe
- processing module
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机软件领域,特别涉及一种车间软件异常分析处理维护及统计的方法。一种软件崩溃信息收集方法,该方法包括处理模块,该方法包括以下的步骤:1)软件程序初始化过程中,加载动态链接库;2)调取动态链接库中初始化函数,传入参数;3)编译代码,产生exe、pdb和map;4)下发exe程序,配置参数,设置出现错误时执行内容;5)如果出现异常,去指定位置收集dump信息;6)使用dump文件与exe、pdb、map和源码文件调试,还原发生错误的位置。该方法为一种分可靠分析影响产能因素的手段,其产生的dump调试文件,提高了软件维护的效率,软件自动重启的功能,更是防范了其他生产异常的产生。
Description
技术领域
本发明涉及计算机软件领域,特别涉及一种车间软件异常分析处理维护及统计的方法。
背景技术
软件下发后,在产线运行过程中会出现偶发性的致命错误导致,程序崩溃,自动退出,影响产能效率,此类异常出现的次数需要统计分析。
由于一些错误是偶发性,不容易复现,很难定位到该类异常的代码错误位置,给此类异常的修复带来一定的困难。
软件异常退出之后,产线作业人员需要重新找到该软件并打开,花费一定的时间的同时,存在用错软件的隐患。
发明内容
为了解决上述的技术问题,本发明的第一个目的是提供一种软件崩溃信息收集方法,该方法为一种分可靠分析影响产能因素的手段,其产生的dump调试文件,提高了软件维护的效率,软件自动重启的功能,更是防范了其他生产异常的产生。本发明的第二个目的是提供采用上述的方法的系统。
为了实现上述的第一个目的,本发明采用了以下的技术方案:
一种软件崩溃信息收集方法,该方法包括处理模块,该方法包括以下的步骤:
1)软件程序初始化过程中,加载动态链接库;
2)调取动态链接库中初始化函数,传入初始化参数,初始化参数为出现异常时要保存到数据库上的内容;
3)编译程序源代码,生成exe、pdb、map三个文件;
4)下发exe文件,随同exe文件,需要一个配置参数文件,参数文件的参数为一旦触发处理模块运行时要进行执行内容的配置参数;
5)软件运行时处理模块一直在等待软件无法处理的异常来触发处理模块运行;
6)当异常触发处理模块后,处理模块捕获异常对象,解析异常对象,将异常对象以一份简单的文本记录下来,并调用MiniDump模块,保存内存dump文件以供调试;
7)上传数据库,记录软件异常信息;
8)重启软件,处理模块获取当前软件进程的映像路径,生成批处理文件,延迟执行,等待当前进程完全退出后立刻重新打开软件。
作为优选,所述的步骤2)初始化参数包括用户信息和产品信息。
作为优选,所述的步骤2)初始化函数实施方式包括保存初始化参数至内存中、注册异常捕获函数以及初始化MiniDump模块。
作为优选,所述的步骤4)配置参数包括是否上传数据库、数据的地址口令以及dump文件的保存位置。
作为优选,所述的步骤6)文本记录下来的内容包括发生异常的模块、内存地址和时间。
作为优选,所述的步骤6)调试使用vs2005及以上版本进行调试。
作为优选,所述的步骤6)产生dump文件的exe,与当时编译该exe文件时产生的exe文件pdb、map以及源码文件一一对应。
为了实现上述的第二个目的,本发明采用了以下的技术方案:
一种软件崩溃信息收集系统,该系统包括处理模块,所述的处理模块采用上述任意一项技术方案所述的方法进行软件崩溃信息收集。
本发明由于采用了上述的技术方案,具有以下的特点:
1、本发明在每一次软件发生异常的时候,会向指定数据库进行记录本次异常,记录的信息可以在加载该模块并初始化时传入,这里的传入的参数称为初始化参数。初始化参数是在软件崩溃时,该模块要上传的一些数据,如当前生产的产品型号,通过分析上传后的数据,可以了解到软件异常对该型号产品的产能的影响等。
2、本发明还提供了软件bug追踪功能,发生异常时保存内存转储文件——dump文件,通过dump文件,可快速定位软件发生异常的位置,降低了定位错误代码位置的难度,提高软件维护效率。
3、本发明再异常发生后还会自动重新打开软件,该功能可以有效的节省重新寻找并打开软件的时间,同时避免了重新打开软件时用错软件的风险,为产线的产能有了更高的保障。
附图说明
图1为本发明的方法流程框图。
图2为本发明处理模块的流程框图。
具体实施方式
下面结合附图对本发明的具体实施方式做一个详细的说明。
1、本发明利用Windows异常处理机制,捕获软件无法处理的异常,使用基于Windows的“minidump”的崩溃转存技术,保存dump文件,使用Windows相应的调试API,IDE定位异常位置。
2、加载动态链接库,获取初始化函数,并通过传入初始化参数初始化即可,其中编译出来的pdb和map文件需要跟释放出来的exe文件对应保存起来。
3、如图1所示一种软件崩溃信息收集方法,具体操作流程如下:
1)软件程序初始化过程中,加载本发明动态链接库;
2)调取库中初始化函数,传入初始化参数,初始化参数包括用户信息,产品信息等,是出现异常时要保存到数据库上的内容;
3)初始化函数实施方式包括,保存初始化参数至内存中、注册异常捕获函数、以及初始化MiniDump模块;即图2模块运行流程中的初始化;
4)编译程序源代码,生成exe、pdb、map三个文件;
5)下发exe文件,随同exe文件,需要一个配置参数文件,该文件内的参数为一旦触发本发明模块运行时(即出现错误时)要进行执行内容的配置参数;包括是否上传数据库、数据的地址口令以及dump文件的保存位置等等;
6)软件运行时模块一直在等待软件无法处理的异常来触发该模块运行,即图2模块运行流程②;
7)当异常触发该模块后,模块捕获异常对象,解析异常对象,将异常对象以一份简单的文本记录下来,包括发生异常的模块、内存地址、时间等信息,并调用MiniDump模块,保存内存dump文件以供调试,即图2模块运行流程③,其中保存位置有配置参数指定;
8)上传数据库,记录软件异常信息,及异常发生时间、地点、作业员等信息,即图2模块运行流程 ④,此类信息由初始化参数获取,是否上传及上传的数据库地址等信息由配置参数指定;
9)重启软件,模块获取当前软件进程的映像路径,生成批处理文件,延迟执行,等待当前进程完全退出后立刻重新打开软件,即图2模块运行流程 ⑤。
Claims (8)
1.一种软件崩溃信息收集方法,该方法包括处理模块,其特征在于该方法包括以下的步骤:
1)软件程序初始化过程中,加载动态链接库;
2)调取动态链接库中初始化函数,传入初始化参数,初始化参数为出现异常时要保存到数据库上的内容;
3)编译程序源代码,生成exe、pdb、map三个文件;
4)下发exe文件,随同exe文件,需要一个配置参数文件,参数文件的参数为一旦触发处理模块运行时要进行执行内容的配置参数;
5)软件运行时处理模块一直在等待软件无法处理的异常来触发处理模块运行;
6)当异常触发处理模块后,处理模块捕获异常对象,解析异常对象,将异常对象以一份简单的文本记录下来,并调用MiniDump模块,保存内存dump文件以供调试;
7)上传数据库,记录软件异常信息;
8)重启软件,处理模块获取当前软件进程的映像路径,生成批处理文件,延迟执行,等待当前进程完全退出后立刻重新打开软件。
2.根据权利要求1所述的一种软件崩溃信息收集方法,其特征在于步骤2)初始化参数包括用户信息和产品信息。
3.根据权利要求1所述的一种软件崩溃信息收集方法,其特征在于步骤2)初始化函数实施方式包括保存初始化参数至内存中、注册异常捕获函数以及初始化MiniDump模块。
4.根据权利要求1所述的一种软件崩溃信息收集方法,其特征在于步骤4)配置参数包括是否上传数据库、数据的地址口令以及dump文件的保存位置。
5.根据权利要求1所述的一种软件崩溃信息收集方法,其特征在于步骤6)文本记录下来的内容包括发生异常的模块、内存地址和时间。
6.根据权利要求1所述的一种软件崩溃信息收集方法,其特征在于步骤6)调试使用vs2005及以上版本进行调试。
7.根据权利要求1所述的一种软件崩溃信息收集方法,其特征在于步骤6)产生dump文件的exe,与当时编译该exe文件时产生的exe文件pdb、map以及源码文件一一对应。
8.一种软件崩溃信息收集系统,该系统包括处理模块,所述的处理模块采用权利要求1~7任意一项权利要求所述的方法进行软件崩溃信息收集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610655301.7A CN106294071B (zh) | 2016-08-11 | 2016-08-11 | 一种软件崩溃信息收集方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610655301.7A CN106294071B (zh) | 2016-08-11 | 2016-08-11 | 一种软件崩溃信息收集方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106294071A true CN106294071A (zh) | 2017-01-04 |
CN106294071B CN106294071B (zh) | 2018-11-27 |
Family
ID=57669378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610655301.7A Active CN106294071B (zh) | 2016-08-11 | 2016-08-11 | 一种软件崩溃信息收集方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294071B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940681A (zh) * | 2017-03-11 | 2017-07-11 | 郑州云海信息技术有限公司 | 一种利用跟踪函数和解析工具调试存储软件的方法 |
CN107085550A (zh) * | 2017-03-31 | 2017-08-22 | 武汉斗鱼网络科技有限公司 | 一种用于收集iOS系统中应用崩溃信息的方法及系统 |
CN107357731A (zh) * | 2017-07-17 | 2017-11-17 | 福建星瑞格软件有限公司 | 进程产生core dump问题的监控、分析和处理方法 |
CN108345518A (zh) * | 2018-03-12 | 2018-07-31 | 张立江 | 一种软件崩溃后的数据恢复系统及其恢复方法 |
CN109358975A (zh) * | 2018-09-28 | 2019-02-19 | 珠海市君天电子科技有限公司 | 一种软件运行异常的分析方法、装置、电子设备及存储介质 |
CN109766267A (zh) * | 2018-12-15 | 2019-05-17 | 中国平安人寿保险股份有限公司 | Cpu高耗代码定位方法、装置、电子设备及存储介质 |
CN110287051A (zh) * | 2019-06-21 | 2019-09-27 | 四川盛趣时代网络科技有限公司 | 基于windows异常处理机制的主动防护方法 |
CN110908819A (zh) * | 2018-09-17 | 2020-03-24 | 千寻位置网络有限公司 | 定位代码运行崩溃的方法及装置、终端、存储器 |
CN111382076A (zh) * | 2020-03-10 | 2020-07-07 | 北京字节跳动网络技术有限公司 | 应用程序的测试方法、装置、电子设备及计算机存储介质 |
CN112380110A (zh) * | 2020-09-30 | 2021-02-19 | 深圳点猫科技有限公司 | 一种客户端崩溃通知方法、装置及设备 |
CN113485884A (zh) * | 2021-06-08 | 2021-10-08 | 北京控制工程研究所 | 一种基于处理器特性的星载软件异常状态监测方法 |
CN114443340A (zh) * | 2022-01-29 | 2022-05-06 | 亿咖通(湖北)技术有限公司 | 异常进程处理方法、装置和服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005078A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | System and method of identifying the source of a failure |
CN103034575A (zh) * | 2012-11-29 | 2013-04-10 | 北京奇虎科技有限公司 | 崩溃分析方法和装置 |
-
2016
- 2016-08-11 CN CN201610655301.7A patent/CN106294071B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005078A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | System and method of identifying the source of a failure |
CN103034575A (zh) * | 2012-11-29 | 2013-04-10 | 北京奇虎科技有限公司 | 崩溃分析方法和装置 |
Non-Patent Citations (2)
Title |
---|
DOXYGEN: ""Using Crash Minidunmp"", 《HTTP://CRASHRPT.SOURCEFORGE.NET/DOCS/HTML/USING_MINIDUMP.HTML》 * |
九天雁翎: ""异常处理与MiniDump详解(4) MiniDump"", 《HTTPS://BLOG.CSDN.NET/VAGRXIE/ARTICLE/DETAILS/4398721》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940681A (zh) * | 2017-03-11 | 2017-07-11 | 郑州云海信息技术有限公司 | 一种利用跟踪函数和解析工具调试存储软件的方法 |
CN106940681B (zh) * | 2017-03-11 | 2020-07-21 | 苏州浪潮智能科技有限公司 | 一种利用跟踪函数和解析工具调试存储软件的方法 |
CN107085550A (zh) * | 2017-03-31 | 2017-08-22 | 武汉斗鱼网络科技有限公司 | 一种用于收集iOS系统中应用崩溃信息的方法及系统 |
CN107357731A (zh) * | 2017-07-17 | 2017-11-17 | 福建星瑞格软件有限公司 | 进程产生core dump问题的监控、分析和处理方法 |
CN107357731B (zh) * | 2017-07-17 | 2020-09-29 | 福建星瑞格软件有限公司 | 进程产生core dump问题的监控、分析和处理方法 |
CN108345518A (zh) * | 2018-03-12 | 2018-07-31 | 张立江 | 一种软件崩溃后的数据恢复系统及其恢复方法 |
CN110908819B (zh) * | 2018-09-17 | 2023-07-04 | 千寻位置网络有限公司 | 定位代码运行崩溃的方法及装置、终端、存储器 |
CN110908819A (zh) * | 2018-09-17 | 2020-03-24 | 千寻位置网络有限公司 | 定位代码运行崩溃的方法及装置、终端、存储器 |
CN109358975A (zh) * | 2018-09-28 | 2019-02-19 | 珠海市君天电子科技有限公司 | 一种软件运行异常的分析方法、装置、电子设备及存储介质 |
CN109766267A (zh) * | 2018-12-15 | 2019-05-17 | 中国平安人寿保险股份有限公司 | Cpu高耗代码定位方法、装置、电子设备及存储介质 |
CN110287051A (zh) * | 2019-06-21 | 2019-09-27 | 四川盛趣时代网络科技有限公司 | 基于windows异常处理机制的主动防护方法 |
CN111382076A (zh) * | 2020-03-10 | 2020-07-07 | 北京字节跳动网络技术有限公司 | 应用程序的测试方法、装置、电子设备及计算机存储介质 |
CN111382076B (zh) * | 2020-03-10 | 2023-04-25 | 抖音视界有限公司 | 应用程序的测试方法、装置、电子设备及计算机存储介质 |
CN112380110A (zh) * | 2020-09-30 | 2021-02-19 | 深圳点猫科技有限公司 | 一种客户端崩溃通知方法、装置及设备 |
CN113485884A (zh) * | 2021-06-08 | 2021-10-08 | 北京控制工程研究所 | 一种基于处理器特性的星载软件异常状态监测方法 |
CN113485884B (zh) * | 2021-06-08 | 2023-06-06 | 北京控制工程研究所 | 一种基于处理器特性的星载软件异常状态监测方法 |
CN114443340A (zh) * | 2022-01-29 | 2022-05-06 | 亿咖通(湖北)技术有限公司 | 异常进程处理方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN106294071B (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294071A (zh) | 一种软件崩溃信息收集方法及其系统 | |
CN107077414B (zh) | 用于生产调试的诊断工作流程 | |
US10180899B2 (en) | Device for automatically generating test cases for embedded software using symbolic and concrete execution | |
US8370816B2 (en) | Device, method and computer program product for evaluating a debugger script | |
CN103092742B (zh) | 程序日志记录优化方法和系统 | |
CN102736978B (zh) | 一种检测应用程序的安装状态的方法及装置 | |
CN104461786B (zh) | Android系统的恢复方法及Android系统的恢复系统 | |
CN102422261B (zh) | 对所引起的异常的通知 | |
US9311176B1 (en) | Evaluating a set of storage devices and providing recommended activities | |
US20040268183A1 (en) | Debugging breakpoints on pluggable components | |
US10042744B2 (en) | Adopting an existing automation script to a new framework | |
CN106598657A (zh) | 一种云平台应用一键部署的方法 | |
CN101770422A (zh) | 软件Bug追踪方法及其计算机系统 | |
CN104572428A (zh) | 基于windows操作系统下的复杂控件测试方法 | |
CN102594618A (zh) | 实现存储局域网络存储设备测试的方法及装置 | |
CN105630661B (zh) | 用于自动化跨系统程序调试的方法和装置 | |
US20080010536A1 (en) | Breakpoints with Separate Conditions | |
US20090044040A1 (en) | Modification of array access checking in aix | |
US20100299559A1 (en) | Method for processing the volume of information handled during the debugging phase of operational software onboard an aircraft and device for implementing the same | |
EP3514680B1 (en) | Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles | |
US20170344461A1 (en) | Automated exception resolution during a software development session based on previous exception encounters | |
CN106293687A (zh) | 一种打包流程的控制方法,及装置 | |
CN104133763A (zh) | 程序调试系统及方法 | |
CN110147314A (zh) | 测试方法、装置及计算机可读存储介质 | |
CN105279013A (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 |