CN108519924A - 一种嵌入式测控装置的在线故障定位方法、系统及装置 - Google Patents
一种嵌入式测控装置的在线故障定位方法、系统及装置 Download PDFInfo
- Publication number
- CN108519924A CN108519924A CN201810182881.1A CN201810182881A CN108519924A CN 108519924 A CN108519924 A CN 108519924A CN 201810182881 A CN201810182881 A CN 201810182881A CN 108519924 A CN108519924 A CN 108519924A
- Authority
- CN
- China
- Prior art keywords
- control device
- measure
- address
- executable file
- embedded
- 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/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/0706—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 the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—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 the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机控制技术领域,特别是一种嵌入式测控装置的在线故障定位方法、系统及装置。该装置包括设备搜索连接模块、文件传输模块、可执行文件解析模块和代码挂接模块四个功能模块,通过处理器处理相应的程序实现上述模块的功能,根据用户指令通过分析可执行文件将调试代码写入空闲区域,并获取目标函数跳转地址,将跳转地址修改为调试代码所在空闲区域的地址,上传加载有调试代码的可执行文件,进行变量的实时读取和修改,替换原程序函数,实现不断电情况下进行代码级的调试,在偶发性故障定位查找中,有效降低问题定位难度,提高调试效率,保障产品质量,解决了嵌入式测控装置运行阶段故障发生后定位困难,不能实时调试的问题。
Description
技术领域
本发明涉及计算机控制技术领域,特别是一种嵌入式测控装置的在线故障定位方法、系统及装置。
背景技术
电力系统的安全稳定运行直接关系国计民生,历来受到政府以及电力企业的高度重视。电力系统的安全稳定性,除了电力系统的结构和设计因素,嵌入式测控装置作为电力系统的主要组成部分,其本身的可靠性也直接影响电力系统的稳定性和可靠性。但是随着嵌入式测控装置性能的不断提高,功能的不断增多,其内部程序越来越庞大,耦合性越来越高,逻辑越来越复杂。有中国专利公告号为CN206470334U的专利文献公开了一种电力系统测控装置,包括MCU板、采样及接口底板和人机界面,MCU板与采样及接口底板相连,并通过总线连接人机界面,人机界面与采样及接口底板相连,该人机界面用于显示电网信息、电力系统运行实时数据,并对电力系统进行参数设置,现有的测试流程不可能完全保证测控装置的零故障率,并且有许多故障是在嵌入式测控装置运行了若干个月,甚至若干年之后才被某些特殊条件触发,而故障出现后,没有有效的调试手段,只能靠故障现象猜测问题所在,一旦问题定位错误,装置断电重启,则故障很难重现,为电网的安全运行留下了巨大的隐患。
发明内容
本发明的目的是提供一种嵌入式测控装置的在线故障定位方法、系统及装置,用以解决嵌入式测控装置运行阶段故障发生后定位困难,不能实时调试的问题。
为实现上述目的,本发明提供一种嵌入式测控装置的在线故障定位方法,包括以下步骤:
1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
2)分析所述可执行文件,确定所述嵌入式测控装置的内存的空闲区域,并将用户选取的调试代码写入该空闲区域;
3)获取用户选取的目标函数的跳转地址,并将所述跳转地址修改为所述调试代码在空闲区域中的地址;
4)将加载有调试代码的可执行文件上传至所述嵌入式测控装置的文件存储区,运行所述调试代码,确定故障出现的位置。
通过分析可执行文件将调试代码写入空闲区域,并获取目标函数跳转地址,将跳转地址修改为调试代码所在空闲区域的地址,上传加载有调试代码的可执行文件,进行源代码修改或替换,替换原程序函数功能,实现不断电情况下进行代码级的调试,解决了嵌入式测控装置运行阶段故障发生后定位困难,不能实时调试的问题。
作为本发明提供的一种嵌入式测控装置的在线故障定位方法的改进,该方法还用于实现如下步骤:
(1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
(2)分析所述可执行文件,根据用户输入的变量名搜索变量在所述嵌入式测控装置中的地址;
(3)对搜索出的变量地址和变量值进行读写操作。
通过变量的实时读取和修改,以及在不断电情况下进行代码级调试,解决了嵌入式测控装置运行过程中发现问题而无有效诊断手段的问题,特别是在偶发性故障定位查找中,可有效降低问题定位难度,提高调试效率,为保障产品质量发挥了巨大作用,并为嵌入式测控装置的在线不停电升级与调试技术提供了新的思路。
本发明提供一种嵌入式测控装置的在线故障定位系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
2)分析所述可执行文件,确定所述嵌入式测控装置的内存的空闲区域,并将用户选取的调试代码写入该空闲区域;
3)获取用户选取的目标函数的跳转地址,并将所述跳转地址修改为所述调试代码在空闲区域中的地址;
4)将加载有调试代码的可执行文件上传至所述嵌入式测控装置的文件存储区,运行所述调试代码,确定故障出现的位置。
作为本发明提供的一种嵌入式测控装置的在线故障定位系统的改进,该装置还用于实现如下步骤:
(1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
(2)分析所述可执行文件,根据用户输入的变量名搜索变量在所述嵌入式测控装置中的地址;
(3)对搜索出的变量地址和变量值进行读写操作。
本发明提供一种嵌入式测控装置的在线故障定位装置,包括:
用于探测嵌入式测控装置IP地址,获取测控装置中程序版本信息,提供可连接的测控装置信息,并与测控装置建立报文通信通道的设备搜索连接模块;
用于可执行文件下载和添加调试代码的可执行文件上传的文件传输模块;
用于分析可执行文件并完成变量地址和函数地址定位的可执行文件解析模块;和
用于向测试装置写入调试代码的代码挂接模块。
作为本发明提供的一种嵌入式测控装置的在线故障定位装置的改进,所述设备搜索连接模块中创建监听服务并绑定服务端口号,监听嵌入式测控装置端启动的设备信息发送服务信号,并向外广播设定格式的请求报文和接收测控装置返回的装置信息报文。
作为本发明提供的一种嵌入式测控装置的在线故障定位装置的进一步改进,所述文件传输模块通过嵌入式测控装置自身的FTP文件传输协议,在外部实现FTP客户端完成文件的传输。
作为本发明提供的一种嵌入式测控装置的在线故障定位装置的再一步改进,所述代码挂接模块通过分析可执行文件的解析结果,将调试代码写入装置内存代码段或数据段的缝隙中,然后获取目标函数的跳转地址,并将跳转地址修改为调试代码在内存中的地址。
附图说明
图1是一种嵌入式测控装置的在线故障定位方法流程图;
图2是一种嵌入式测控装置的在线故障定位方法实现变量读写的流程图;
图3是一种嵌入式测控装置的在线故障定位装置。
具体实施方式
下面结合附图对本发明做进一步详细的说明。
为了在不断电情况下对嵌入式测控装置进行注入并运行调试代码,替换原程序函数,实现代码级的调试,绝大部分嵌入式测控装置的工作模式是装置启动后将编译好的程序文件加载到内存中运行,编译后的装置可执行文件中记录了整个程序文件运行时在装置内存中的实际地址,所以需将装置可执行文件的内容解析出来,以获得程序所需变量和所需函数的地址。因此,本发明提供一种嵌入式测控装置的在线故障定位方法,如图1所示,包括以下步骤:
1)选择需要连接的嵌入式测控装置,选择需要注入该嵌入式测控装置的调试代码,其中需要连接的装置为出现异常的装置。
2)与上述嵌入式测控装置建立连接,并根据用户指令获取可执行文件。
用户指令是指根据用户需要指定的可执行文件,前提是用户知道需要调试的功能或程序已经编译到了该被选择的可执行文件中。
3)分析上述可执行文件,确定该嵌入式测控装置的内存空闲区域,并将上述调试代码写入该空闲区域。
上述步骤1)中的调试代码是由开发人员为实现装置中没有的功能,或更改装置中的某项功能所实现的源代码,具体选择或编写的调试代码由用户根据不同装置要实现的不同功能进行选择。
4)获取用户选取的目标函数的跳转地址,并将所述跳转地址修改为所述调试代码在空闲区域中的地址。
目标函数为测控装置中任意被执行的函数,由用户进行确定,目标函数的跳转地址可通过分析可执行文件获得。
5)将加载有上述调试代码的可执行文件上传至所述嵌入式测控装置的文件存储区。
通过上述方法在嵌入式测控装置运行期间出现问题时,还能够实时监测或更改装置的程序变量值。如图2所示,若重新连接新的嵌入式测控装置,则选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;分析所述可执行文件,根据用户输入的变量名搜索变量在所述嵌入式测控装置中的地址;对搜索出的变量地址和变量值进行读写操作。
若在上述故障定位结束后,已根据用户指令下载得到可执行文件,并对该可执行文件进行相应的解析,因此,该变量读写操作直接为:
(1)根据用户输入的变量名搜索变量在装置中的地址,或根据用户输入的变量地址搜索量变量名。
(2)根据得到的变量地址对其进行读写操作,并根据用户需求读取或写入变量值。
本发明还提供一种嵌入式测控装置在线故障检测系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,如图3所示,该处理器包括设备搜索连接模块、文件传输模块、可执行文件解析模块和代码挂接模块构成的装置。
其中,设备搜索连接模块通过TCP/IP通信协议连接嵌入式测控装置,其主要功能是探测嵌入式测控装置IP地址,获取程序版本等信息,为用户提供可连接的装置详细信息,并建立和装置的报文通信通道,其具体实现可采用在嵌入式测控装置端启动设备信息发送服务,在搜索连接模块创建一个监听服务,绑定服务端口号,向外广播其规定格式的请求报文,并接收测控装置服务返回的装置信息报文,即可用于发现连接到工具的测控装置。
文件传输模块主要用于根据用户指令下载可执行文件下载和上传加载有调试代码的可执行文件,可通过嵌入式测控装置自身的FTP文件传输协议,在外部实现FTP客户端完成文件的传输功能。
可执行文件解析模块主要负责解析装置加载的可执行文件,完成获取变量地址和函数地址的功能。
代码挂接模块主要是完成调试代码向装置的写入功能,为了实现此功能,可通过分析可执行文件的解析结果,将调试代码写入装置内存代码段或数据段的缝隙中,然后获取目标函数的跳转地址,并将跳转地址修改为调试代码在内存中的地址。
通过各模块的配合,处理器通过执行程序时实现上述的注入代码步骤和读写变量步骤,实时监测或更改运行装置的程序变量值,并能向装置注入开发人员编写的调试代码,替换原程序函数功能,实现代码级的调试。此检测系统和检测方法降低了故障定位和问题查找的难度,有效帮助开发人员积累宝贵的开发经验,提高程序的健壮性,从而提高嵌入式测控装置的稳定性和可靠性。
以上给出了本发明涉及的具体实施方式,但本发明不局限于所描述的实施方式。在本发明给出的思路下,采用对本领域技术人员而言容易想到的方式对上述实施方式中的技术手段进行变换、替换、修改,并且起到的作用与本发明中的相应技术手段基本相同、实现的发明目的也基本相同,这样形成的技术方案是对上述实施例进行微调形成的,这种技术方案仍落入本发明的保护范围内。
Claims (8)
1.一种嵌入式测控装置的在线故障定位方法,其特征在于,包括以下步骤:
1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
2)分析所述可执行文件,确定所述嵌入式测控装置的内存的空闲区域,并将用户选取的调试代码写入该空闲区域;
3)获取用户选取的目标函数的跳转地址,并将所述跳转地址修改为所述调试代码在空闲区域中的地址;
4)将加载有调试代码的可执行文件上传至所述嵌入式测控装置的文件存储区,运行所述调试代码,确定故障出现的位置。
2.根据权利要求1所述的嵌入式测控装置的在线故障定位方法,其特征在于,还用于实现如下步骤:
(1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
(2)分析所述可执行文件,根据用户输入的变量名搜索变量在所述嵌入式测控装置中的地址;
(3)对搜索出的变量地址和变量值进行读写操作。
3.一种嵌入式测控装置的在线故障定位系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
2)分析所述可执行文件,确定所述嵌入式测控装置的内存的空闲区域,并将用户选取的调试代码写入该空闲区域;
3)获取用户选取的目标函数的跳转地址,并将所述跳转地址修改为所述调试代码在空闲区域中的地址;
4)将加载有调试代码的可执行文件上传至所述嵌入式测控装置的文件存储区,运行所述调试代码,确定故障出现的位置。
4.根据权利要求3所述的嵌入式测控装置的在线故障定位系统,其特征在于,还用于实现如下步骤:
(1)选取工作异常的嵌入式测控装置,下载用户指定的可执行文件;
(2)分析所述可执行文件,根据用户输入的变量名搜索变量在所述嵌入式测控装置中的地址;
(3)对搜索出的变量地址和变量值进行读写操作。
5.一种嵌入式测控装置的在线故障定位装置,其特征在于,包括:
用于探测嵌入式测控装置IP地址,获取测控装置中程序版本信息,提供可连接的测控装置信息,并与测控装置建立报文通信通道的设备搜索连接模块;
用于可执行文件下载和添加调试代码的可执行文件上传的文件传输模块;
用于分析可执行文件并完成变量地址和函数地址定位的可执行文件解析模块;和
用于向测试装置写入调试代码的代码挂接模块。
6.根据权利要求5所述的嵌入式测控装置的在线故障定位装置,其特征在于,所述设备搜索连接模块中创建监听服务并绑定服务端口号,监听嵌入式测控装置端启动的设备信息发送服务信号,并向外广播设定格式的请求报文和接收测控装置返回的装置信息报文。
7.根据权利要求6所述的嵌入式测控装置的在线故障定位装置,其特征在于,所述文件传输模块通过嵌入式测控装置自身的FTP文件传输协议,在外部实现FTP客户端完成文件的传输。
8.根据权利要求7所述的嵌入式测控装置的在线故障定位装置,其特征在于,所述代码挂接模块通过分析可执行文件的解析结果,将调试代码写入装置内存代码段或数据段的缝隙中,然后获取目标函数的跳转地址,并将跳转地址修改为调试代码在内存中的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810182881.1A CN108519924B (zh) | 2018-03-06 | 2018-03-06 | 一种嵌入式测控装置的在线故障定位方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810182881.1A CN108519924B (zh) | 2018-03-06 | 2018-03-06 | 一种嵌入式测控装置的在线故障定位方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108519924A true CN108519924A (zh) | 2018-09-11 |
CN108519924B CN108519924B (zh) | 2021-02-05 |
Family
ID=63433385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810182881.1A Active CN108519924B (zh) | 2018-03-06 | 2018-03-06 | 一种嵌入式测控装置的在线故障定位方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108519924B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286707A (zh) * | 2020-10-26 | 2021-01-29 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位系统及方法 |
CN112965757A (zh) * | 2021-02-26 | 2021-06-15 | 许昌许继软件技术有限公司 | 一种嵌入式设备平台功能配置控制方法及控制系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609338A (zh) * | 2008-06-18 | 2009-12-23 | 北京摩软科技有限公司 | 一种对嵌入式设备实时动态测试及故障定位的方法及装置 |
CN101984409A (zh) * | 2010-11-10 | 2011-03-09 | 南京南瑞继保电气有限公司 | 一种用于Linux系统测试代码注入的方法 |
CN102279789A (zh) * | 2010-06-13 | 2011-12-14 | 三星电子(中国)研发中心 | 生产阶段嵌入式系统的调试系统及其调试方法 |
US20150007156A1 (en) * | 2013-06-26 | 2015-01-01 | Sap Ag | Injecting patch code at runtime |
CN107577609A (zh) * | 2017-09-28 | 2018-01-12 | 北京计算机技术及应用研究所 | 一种基于主机端动态链接的嵌入式系统动态模块调试方法 |
-
2018
- 2018-03-06 CN CN201810182881.1A patent/CN108519924B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609338A (zh) * | 2008-06-18 | 2009-12-23 | 北京摩软科技有限公司 | 一种对嵌入式设备实时动态测试及故障定位的方法及装置 |
CN102279789A (zh) * | 2010-06-13 | 2011-12-14 | 三星电子(中国)研发中心 | 生产阶段嵌入式系统的调试系统及其调试方法 |
CN101984409A (zh) * | 2010-11-10 | 2011-03-09 | 南京南瑞继保电气有限公司 | 一种用于Linux系统测试代码注入的方法 |
US20150007156A1 (en) * | 2013-06-26 | 2015-01-01 | Sap Ag | Injecting patch code at runtime |
CN107577609A (zh) * | 2017-09-28 | 2018-01-12 | 北京计算机技术及应用研究所 | 一种基于主机端动态链接的嵌入式系统动态模块调试方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286707A (zh) * | 2020-10-26 | 2021-01-29 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位系统及方法 |
CN112286707B (zh) * | 2020-10-26 | 2024-04-05 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位系统及方法 |
CN112965757A (zh) * | 2021-02-26 | 2021-06-15 | 许昌许继软件技术有限公司 | 一种嵌入式设备平台功能配置控制方法及控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108519924B (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102880535B (zh) | 一种用于移动设备的无线自动化测试装置及方法 | |
CN106597947B (zh) | 变电站设备测试方法、服务器、测试仪及系统 | |
CN100365590C (zh) | 在嵌入式系统模拟器上调试应用程序的方法 | |
CN106330593B (zh) | 协议检测方法及装置 | |
CN104281520B (zh) | 跟踪和调试的方法、装置及系统 | |
CN111104143B (zh) | 一种固件升级方法及升级装置 | |
CN102421112B (zh) | 移动终端的测试方法、移动终端模拟器、测试设备及系统 | |
CN103365770A (zh) | 移动终端软件测试系统及软件测试方法 | |
CN104424095A (zh) | 一种移动终端的自动化测试方法和系统 | |
CN101227345B (zh) | 基于应用程序接口的自动测试方法 | |
CN110347085B (zh) | 自动化测试系统、方法、车辆以及计算机可读介质 | |
CN103544095A (zh) | 服务器程序的监控方法及其系统 | |
CN101853173A (zh) | 一种分布式系统的可编程逻辑器件的软件升级方法和设备 | |
CN106506243A (zh) | 一种基于日志数据的网管故障诊断方法 | |
CN104778118A (zh) | 自动化测试技术的改进方法 | |
CN105204986A (zh) | 产品的自动化测试方法、服务器及移动设备 | |
CN104503898A (zh) | 一种嵌入式软件调试参数实时查看的方法及系统 | |
CN108519924A (zh) | 一种嵌入式测控装置的在线故障定位方法、系统及装置 | |
CN115242894B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN104268041A (zh) | 一种车载显示器设备频繁开关机自动化闭环测试方法 | |
CN104036193B (zh) | 一种应用程序的本地跨域漏洞检测方法及装置 | |
CN117579672A (zh) | 基于python的射频自动化综合测试平台及测试方法 | |
CN102736929A (zh) | 液压支架电液控制系统端头控制器软件远程在线升级方法 | |
CN108009086B (zh) | 基于用例分解和功能学习的系统自动化测试方法 | |
CN110209565B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |