CN114237825A - 全液晶仪表记录程序异常数据的方法 - Google Patents
全液晶仪表记录程序异常数据的方法 Download PDFInfo
- Publication number
- CN114237825A CN114237825A CN202111558125.2A CN202111558125A CN114237825A CN 114237825 A CN114237825 A CN 114237825A CN 202111558125 A CN202111558125 A CN 202111558125A CN 114237825 A CN114237825 A CN 114237825A
- Authority
- CN
- China
- Prior art keywords
- kernel
- program
- abnormal data
- liquid crystal
- log file
- 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
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000004973 liquid crystal related substance Substances 0.000 title claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 5
- 230000009977 dual effect Effects 0.000 claims description 2
- 239000000463 material Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
全液晶仪表记录程序异常数据的方法,属于仪器仪表领域,本发明为解决全液晶仪表监测异常数据时存在的问题。本发明方法包括以下步骤:利用虚拟机执行双内核策略,在程序崩溃、系统未崩溃时通过主内核保存异常数据,在程序崩溃、系统崩溃时通过监视内核保存异常数据,以供后续分析全液晶仪表存在的问题;主内核的运行流程包括:启动主内核;定时记录日志文件;若程序崩溃,转储主内核定时存储的日志文件;同时,通过回溯跟踪函数backtrace将程序崩溃时的堆栈数据重定向存储至日志文件;并转储dump文件;监视内核的运行流程包括:启动监视内核;定时读取日志文件;若两次读取的日志文件相同,表征系统崩溃,则转储主内核定时存储的日志文件,并转储dump文件。
Description
技术领域
本发明涉及全液晶仪表监测技术,属于仪器仪表领域。
背景技术
全液晶仪表包含boot、内核、根文件系统、驱动程序、应用程序等多个组成部分,全液晶仪表因为其复杂性,相比于传统仪表裸机无操作系统,或者运行较为简单的实时操作系统,发生问题的可能性更高,问题点更隐蔽,不易排查。而且如果是内核、驱动等操作系统底层出现问题,问题较为偶发,不易复现,对排查程序问题提出了极大的挑战。同时,因为问题比较偶发,派遣人员全现场排查问题,不一定能复现问题,有的问题往往几个月可能才发生一例,派人长期跟踪,浪费了大量的人力物力,也不一定能够跟踪到问题。因此,急需一种手段,确保在程序发生异常的时候,有效地记录问题,尽可能的保留现场数据,以便开发人员进行分析。
发明内容
本发明目的是为了解决全液晶仪表监测异常数据时存在的问题,提供了一种全液晶仪表记录程序异常数据的方法。
本发明所述全液晶仪表记录程序异常数据的方法,该方法包括以下步骤:
利用虚拟机执行双内核策略,在程序崩溃、系统未崩溃时通过主内核保存异常数据,在程序崩溃、系统崩溃时通过监视内核保存异常数据,以供后续分析全液晶仪表存在的问题;
主内核的运行流程包括:
A1、启动主内核;
A2、定时记录日志文件;
A3、判断程序是否崩溃,
若程序未崩溃,返回执行步骤A2;若程序崩溃,则执行步骤A4;
A4、转储主内核定时存储的日志文件;同时,通过回溯跟踪函数backtrace将程序崩溃时的堆栈数据重定向存储至日志文件;并转储dump文件;
监视内核的运行流程包括:
B1、启动监视内核;
B2、定时读取日志文件;
B3、判断两次读取的日志文件是否有变化,
若两次读取的日志文件不相同,表征系统未崩溃,返回执行步骤B2;若两次读取的日志文件相同,表征系统崩溃,则执行步骤B4;
B4、转储主内核定时存储的日志文件,并转储dump文件。
优选地,步骤A2中主内核定时记录日志文件的过程为:
当应用程序启动后,以固定的时间间隔存储信息以生成日志文件,每组信息均加上时间戳,每组信息记录完毕后插入换行符,以分隔开相邻两组信息。
优选地,存储的信息包括内存使用量、CPU负载率、GPU负载率、系统时间、芯片温度、按键操作、功能模块使用情况和串口接收情况数据。
优选地,所述双内核策略为:开机,boot引导内核启动,由虚拟机在该内核中虚拟划分出主内核和监视内核,并硬件隔离开两个内核。
优选地,异常数据通过U盘导出,或通过WIFI导出。
优选地,步骤A3中判断程序是否崩溃的方法为:当主内核捕捉到程序崩溃信号时判定其为程序崩溃。
优选地,步骤B3中判断两次读取的日志文件是否有变化的方法为:判断两次读取的日志文件行数是否相同,若相同,表征主内核正常运行,正常存储日志文件;若不相同,则表征主内核崩溃,不再存储日志文件。
本发明的有益效果:本发明是一种记录全液晶仪表程序异常数据的方法。能够在第一时间记录问题发生时的现场数据,对于不易复现偶发问题,通过该方法记录的数据,为解决问题,提供了大量的有效数据,为进一步解决程序问题提供了帮助。同时,节省了外派人员到现场复现问题的人力成本,节省了大量的人力物力。采用U盘或者WIFI模块均可以导出数据,简单易行,通过开发人员的远程指导,可以快速的获取问题数据,及时解决问题。
该方法能够在全液晶仪表程序发生异常的时候,尽可能保留有用的数据,并有效保存。同时,通过U盘或者WIFI模块就可以导出数据,操作简单。发生问题的时候,无需人员到现场进行支持,只需要远程协调现场人员导出数据,从而第一时间获取到问题数据。对于隐蔽的问题点,能够尽可能详尽地记录数据,省去了人员现场排查复现的时间。在记录问题,尤其是几个月才能发生一次的偶发问题上,节省了大量的时间,节约了人力物力。
附图说明
图1是本发明所述全液晶仪表记录程序异常数据的方法的原理框图;
图2是主内核记录程序异常数据的流程图;
图3是监测内核记录程序异常数据的流程图。
具体实施方式
具体实施方式一:下面结合图1至3说明本实施方式,本实施方式所述全液晶仪表记录程序异常数据的方法,该方法包括以下步骤:
利用虚拟机执行双内核策略,在程序崩溃、系统未崩溃时通过主内核保存异常数据,在程序崩溃、系统崩溃时通过监视内核保存异常数据,以供后续分析全液晶仪表存在的问题;
当程序发生异常时,分为两种情况,情况一、程序崩溃,内核未崩溃(系统未崩溃);情况二、程序崩溃,内核崩溃(系统崩溃)。
在程序崩溃、系统未崩溃时通过主内核保存异常数据,主内核的运行流程包括:
A1、启动主内核;
A2、定时记录日志文件;
A3、判断程序是否崩溃,
若程序未崩溃,返回执行步骤A2;若程序崩溃,则执行步骤A4;
A4、转储主内核定时存储的日志文件;同时,通过回溯跟踪函数backtrace将程序崩溃时的堆栈数据重定向存储至日志文件;并转储dump文件;
其中,步骤A2中主内核定时记录日志文件的过程为:
当应用程序启动后,以固定的时间间隔存储信息以生成日志文件,每组信息均加上时间戳,每组信息记录完毕后插入换行符,以分隔开相邻两组信息。
存储的信息包括内存使用量、CPU负载率、GPU负载率、系统时间、芯片温度、按键操作、功能模块使用情况和串口接收情况数据。
对于程序崩溃,内核未崩溃的情况,操作系统仍可以正常运行,此时通过回溯系统backtrace将程序崩溃时的堆栈数据重定向存储至日志文件。并将系统产生的备份文件系统dump文件进行转储,便于今后分析。
其中,步骤A3中判断程序是否崩溃的方法为:当主内核捕捉到程序崩溃信号时判定其为程序崩溃。主内核运行过程中若程序崩溃是会发出崩溃信号的,当主内核捕捉到程序崩溃信号时就可判定为程序崩溃,执行图2中所述的流程,当程序崩溃时,导出三个文件给研发人员,第一个为主内核定时存储的日志文件,第二个为通过回溯跟踪函数backtrace将程序崩溃时的堆栈数据重定向存储至日志文件,第三个为转储dump文件,dump为系统转储文件,是系统自动生成的文件。
在程序崩溃、系统崩溃时通过监视内核保存异常数据,监视内核的运行流程包括:
B1、启动监视内核;
B2、定时读取日志文件;
B3、判断两次读取的日志文件是否有变化,
若两次读取的日志文件不相同,表征系统未崩溃,返回执行步骤B2;若两次读取的日志文件相同,表征系统崩溃,则执行步骤B4;
B4、转储主内核定时存储的日志文件,并转储dump文件。
其中,步骤B3中判断两次读取的日志文件是否有变化的方法为:判断两次读取的日志文件行数是否相同,若相同,表征主内核正常运行,正常存储日志文件;若不相同,则表征主内核崩溃,不再存储日志文件。
对于内核崩溃的情况,操作系统无法正常运行。此时无法通过操作系统,储存崩溃时的日志文件。针对这一情况,采用双内核策略,开机,boot引导内核启动,然后会运行一个虚拟机,两个虚拟内核在虚拟机中运行,并且两个虚拟内核硬件隔离,避免一个崩溃影响到另一个内核。每个固定时间访问存储的日志文件。因为日志文件每隔固定时间会主内核都会写入固定的必要系统信息数据,并添加时间戳,每条信息都进行换行。所以,只要主内核正常工作,日志文件的行数就会一直增加。监视内核通过读取日志文件,发现多次读取的日志文件行数没有变化后,判定主内核崩溃,转储日志文件,以供开发人员导出分析。
实施方式二,本实施方式与实施方式一的不同之处在于,异常数据通过U盘导出,或通过WIFI导出。
有两种方式可以导出存储在仪表中的日志文件,一是通过U盘导出,在USB升级界面下长按右键,触发U盘导出日志的操作。二是通过WIFI导出,在无线升级界面下长按右键,触发WIFI导出日志U盘的操作。同时,还可以通过无线升级界面长按下键,进入WIFI远程调试模式,配合服务器端应程序,实时传输仪表日志信息,便于开发人员远程分析。
Claims (7)
1.全液晶仪表记录程序异常数据的方法,其特征在于,该方法包括以下步骤:
利用虚拟机执行双内核策略,在程序崩溃、系统未崩溃时通过主内核保存异常数据,在程序崩溃、系统崩溃时通过监视内核保存异常数据,以供后续分析全液晶仪表存在的问题;
主内核的运行流程包括:
A1、启动主内核;
A2、定时记录日志文件;
A3、判断程序是否崩溃,
若程序未崩溃,返回执行步骤A2;若程序崩溃,则执行步骤A4;
A4、转储主内核定时存储的日志文件;同时,通过回溯跟踪函数backtrace将程序崩溃时的堆栈数据重定向存储至日志文件;并转储dump文件;
监视内核的运行流程包括:
B1、启动监视内核;
B2、定时读取日志文件;
B3、判断两次读取的日志文件是否有变化,
若两次读取的日志文件不相同,表征系统未崩溃,返回执行步骤B2;若两次读取的日志文件相同,表征系统崩溃,则执行步骤B4;
B4、转储主内核定时存储的日志文件,并转储dump文件。
2.根据权利要求1所述全液晶仪表记录程序异常数据的方法,其特征在于,步骤A2中主内核定时记录日志文件的过程为:
当应用程序启动后,以固定的时间间隔存储信息以生成日志文件,每组信息均加上时间戳,每组信息记录完毕后插入换行符,以分隔开相邻两组信息。
3.根据权利要求2所述全液晶仪表记录程序异常数据的方法,其特征在于,存储的信息包括内存使用量、CPU负载率、GPU负载率、系统时间、芯片温度、按键操作、功能模块使用情况和串口接收情况数据。
4.根据权利要求1所述全液晶仪表记录程序异常数据的方法,其特征在于,所述双内核策略为:开机,boot引导内核启动,由虚拟机在该内核中虚拟划分出主内核和监视内核,并硬件隔离开两个内核。
5.根据权利要求1所述全液晶仪表记录程序异常数据的方法,其特征在于,异常数据通过U盘导出,或通过WIFI导出。
6.根据权利要求1所述全液晶仪表记录程序异常数据的方法,其特征在于,步骤A3中判断程序是否崩溃的方法为:当主内核捕捉到程序崩溃信号时判定其为程序崩溃。
7.根据权利要求1所述全液晶仪表记录程序异常数据的方法,其特征在于,步骤B3中判断两次读取的日志文件是否有变化的方法为:判断两次读取的日志文件行数是否相同,若相同,表征主内核正常运行,正常存储日志文件;若不相同,则表征主内核崩溃,不再存储日志文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558125.2A CN114237825A (zh) | 2021-12-07 | 2021-12-07 | 全液晶仪表记录程序异常数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558125.2A CN114237825A (zh) | 2021-12-07 | 2021-12-07 | 全液晶仪表记录程序异常数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237825A true CN114237825A (zh) | 2022-03-25 |
Family
ID=80758776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111558125.2A Pending CN114237825A (zh) | 2021-12-07 | 2021-12-07 | 全液晶仪表记录程序异常数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237825A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292260A (zh) * | 2022-10-10 | 2022-11-04 | 深圳市广和通无线通信软件有限公司 | 一种系统运行维护处理方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156057A1 (en) * | 2005-01-13 | 2006-07-13 | Nokia Corporation | Method and system for preserving crash dump in a diskless system |
US20080104441A1 (en) * | 2006-10-31 | 2008-05-01 | Hewlett-Packard Development Company, L.P. | Data processing system and method |
CN102810073A (zh) * | 2012-06-13 | 2012-12-05 | 天津大学 | 数据后台实时监控处理方法 |
CN103106132A (zh) * | 2013-03-05 | 2013-05-15 | 中标软件有限公司 | Linux系统崩溃时内核函数调用栈分析调试方法 |
CN112046284A (zh) * | 2020-09-11 | 2020-12-08 | 马瑞利汽车电子(广州)有限公司 | 一种汽车液晶仪表的显示恢复系统 |
CN113220535A (zh) * | 2021-05-31 | 2021-08-06 | 北京马赫谷科技有限公司 | 程序异常的处理方法、装置、设备及存储介质 |
CN114116475A (zh) * | 2021-11-24 | 2022-03-01 | 苏州央议信息科技有限公司 | 一种基于日志的软件调试方法 |
CN117555718A (zh) * | 2024-01-11 | 2024-02-13 | 麒麟软件有限公司 | 一种基于swap交换分区的Linux操作系统死机日志转储方法 |
-
2021
- 2021-12-07 CN CN202111558125.2A patent/CN114237825A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156057A1 (en) * | 2005-01-13 | 2006-07-13 | Nokia Corporation | Method and system for preserving crash dump in a diskless system |
US20080104441A1 (en) * | 2006-10-31 | 2008-05-01 | Hewlett-Packard Development Company, L.P. | Data processing system and method |
CN102810073A (zh) * | 2012-06-13 | 2012-12-05 | 天津大学 | 数据后台实时监控处理方法 |
CN103106132A (zh) * | 2013-03-05 | 2013-05-15 | 中标软件有限公司 | Linux系统崩溃时内核函数调用栈分析调试方法 |
CN112046284A (zh) * | 2020-09-11 | 2020-12-08 | 马瑞利汽车电子(广州)有限公司 | 一种汽车液晶仪表的显示恢复系统 |
CN113220535A (zh) * | 2021-05-31 | 2021-08-06 | 北京马赫谷科技有限公司 | 程序异常的处理方法、装置、设备及存储介质 |
CN114116475A (zh) * | 2021-11-24 | 2022-03-01 | 苏州央议信息科技有限公司 | 一种基于日志的软件调试方法 |
CN117555718A (zh) * | 2024-01-11 | 2024-02-13 | 麒麟软件有限公司 | 一种基于swap交换分区的Linux操作系统死机日志转储方法 |
Non-Patent Citations (11)
Title |
---|
PERSEVERANCEPREVAILS: "Linux内核启动分析", Retrieved from the Internet <URL:https://blog.csdn.net/qq_30592303/article/details/96483459> * |
WEIXIN_38713203: "C#自定义日志记录", Retrieved from the Internet <URL:https://download.csdn.net/download/weixin_38713203/12793116> * |
中公教育优就业研究院编著: "云开雾散解锁Linux云计算:Linux运维基础", 31 May 2020, 陕西科学技术出版社, pages: 186 - 187 * |
余宣杰,姜欣荣: "《银行大数据应用》", 31 August 2019, 机械工业出版社, pages: 229 * |
吕为工,张策: "嵌入式计算机系统设计", 31 March 2017, 哈尔滨工业大学出版社, pages: 86 - 87 * |
宋宝华: "Linux 系统内核崩溃分析处理简介", Retrieved from the Internet <URL:https://blog.arstercz.com/brief-intro-to-linux-kernel-crash-analyze/> * |
汤兵勇,徐亭,章瑞: "云图·云途 云计算技术演进及应用", 30 June 2021, 机械工业出版社, pages: 34 - 35 * |
漫天雪_昆仑巅: "Log4j每天、每小时、每分钟定时生成日志文件", Retrieved from the Internet <URL:https://blog.csdn.net/vtopqx/article/details/8432862> * |
王丹: "软件定义汽车11—硬件隔离与软件虚拟化", Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/429810679> * |
舒云星: "计算机网络技术基础", 30 June 2005, 武汉理工大学出版社, pages: 247 - 248 * |
陈学明: "Spring+Spring MVC+MyBatis整合开发实战", 31 July 2020, 机械工业出版社, pages: 432 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292260A (zh) * | 2022-10-10 | 2022-11-04 | 深圳市广和通无线通信软件有限公司 | 一种系统运行维护处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221983B (zh) | 测试方法、装置、计算机可读存储介质和计算机设备 | |
US9747182B2 (en) | System and method for in-service diagnostics based on health signatures | |
US20160070500A1 (en) | System, Method, and Computer Program Product for Detecting Access to a Memory Device | |
US9355003B2 (en) | Capturing trace information using annotated trace output | |
US11113385B2 (en) | Communicating trace information between security zones | |
CN103577328A (zh) | 一种应用的性能分析方法及装置 | |
CN113946499A (zh) | 一种微服务链路跟踪及性能分析方法、系统、设备及应用 | |
CN112181815A (zh) | 基于Python的异常捕获方法、装置及计算机可读存储介质 | |
US10657028B2 (en) | Method for replicating production behaviours in a development environment | |
US7398511B2 (en) | System and method for providing a health model for software | |
US5553237A (en) | Safety critical monitoring of microprocessor controlled embedded systems | |
CN113468009A (zh) | 一种压力测试方法、装置、电子设备及存储介质 | |
CN112133357B (zh) | 一种eMMC的测试方法及装置 | |
CN114201408A (zh) | 回归测试方法、装置、计算机设备及存储介质 | |
CN114237825A (zh) | 全液晶仪表记录程序异常数据的方法 | |
CN112527568A (zh) | 数据流量测试方法、装置、电子设备及存储介质 | |
CN107273251A (zh) | 一种在生产环境下Rack机柜JBOD存储的测试方法 | |
CN103631739A (zh) | 嵌入式系统的定位分析方法和嵌入式系统 | |
CN112612697A (zh) | 一种基于字节码技术的软件缺陷测试定位方法及系统 | |
CN117033099A (zh) | 一种系统硬盘的压力测试方法、系统、装置及存储介质 | |
CN117271184A (zh) | 一种基于观测云进行根因分析的决策分析方法及系统 | |
US20210124810A1 (en) | Method of debugging hardware and firmware of data storage | |
CN116795712A (zh) | 反向调试方法、调试方法、计算设备及存储介质 | |
CN116361111A (zh) | 一种数据获取方法、装置及电子设备 | |
CN112732522A (zh) | 一种车载mcu可配置日志存储解析方法和系统 |
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 |