System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及程序调试,尤其涉及一种控制器的程序调试方法、装置和存储介质。
技术介绍
1、在软件开发过程中,经常需要调试程序主程序以了解程序运转的鲁棒性,进而排除程序运行中的各种错误。但是控制器的程序往往需要写入到单片机内部来进行测试,而单片机的调试器价格高昂且适配范围狭窄,因此就造成程序在调试过程存在着许多困难。每更换一块不同场景的芯片,都需要适配不同的调试软件,需要开发人员重新熟悉,调试步骤繁琐,调试效率低下。
技术实现思路
1、本专利技术的主要目的在于克服上述相关技术的缺陷,提供一种控制器的程序调试方法、装置和存储介质,以解决相关技术中各调试器的适配软件存在着差异不通用的问题。
2、本专利技术一方面提供了一种控制器的程序调试方法,在所述控制器的主控板上设置有与所述调试器连接的调试接口,所述调试器通过所述调试接口连接所述主控板,能够读取进行所述程序调试输出的日志文件和/或调试信息并存储;所述程序调试方法,包括:预先根据调试需求将调试宏定义和预编译指令插入调试程序中,并将调试日志输出指令插入需要进行调试的位置的预编译模块内和/或将预设的调试函数插入调试程序中,对所述调试程序进行编译并刷写至所述控制器中;在所述控制器与所述调试器连接后,启动所述控制器运行所述调试程序;通过所述调试器存储运行所述调试程序产生的日志文件和/或调试信息,以通过分析所述日志文件和/或调试信息,进行所述调试程序的修改和重新调试。
3、可选地,还包括:在所述控制器与所述调试器连接后,查询
4、可选地,还包括:若查询到所述调试程序中存在宏定义,则在启动所述控制器运行所述调试程序之前,先启动日志记录程序;和/或,若查询到所述调试程序中不存在宏定义,则直接运行所述控制器的程序,以便观测程序是否存在运转问题。
5、可选地,分析所述日志文件,包括:按照调试时间对所述日志文件进行分割,以得到每次的调试日志;对每次进行分割时的停滞位置进行判断,若每次的程序停滞位置相同,则确定程序的错误存在于程序停滞位置或所述停滞位置附近的代码中;若每次的程序停滞位置存在跳变,则根据跳变的位置进行分析,确定程序中存在的错误,以对所述存在的错误进行修改后,再次进行调试。
6、可选地,所述调试器的内部设置有用于记录程序输出的日志文件的存储介质;所述调试器通过所述调试接口与所述主控板的直接存储器访问模块连接,通过所述直接存储器访问模块将所述日志文件传输至所述调试器的所述存储介质中;和/或,所述调试器通过所述调试接口与所述主控板通过sci、spi和i2c中的至少一种通信方式连接,以将所述日志文件传输至所述调试器的所述存储介质中。
7、本专利技术另一方面提供了一种控制器的程序调试装置,在所述控制器的主控板上设置有与调试器连接的调试接口,所述调试器通过所述调试接口连接所述主控板,能够读取进行所述程序调试输出的日志文件和/或调试信息并存储;预先根据调试需求将调试宏定义和预编译指令插入调试程序中,并将调试日志输出指令插入需要进行调试的位置的预编译模块内和/或将预设的调试函数插入调试程序中,对所述调试程序进行编译并刷写至所述控制器中;所述程序调试装置,包括:启动单元,用于在所述控制器与所述调试器连接后,启动所述控制器运行所述调试程序;存储单元,用于通过所述调试器存储运行所述调试程序产生的日志文件和/或调试信息,以通过分析所述日志文件和/或调试信息,进行所述调试程序的修改和重新调试。
8、可选地,还包括:查询单元,用于在所述控制器与所述调试器连接后,查询所述调试程序中是否存在所述调试宏定义;所述启动单元,进一步用于:若所述查询单元查询到所述程序中存在所述调试宏定义,则启动所述控制器运行所述调试程序。
9、可选地,所述启动单元,还用于:若所述查询单元查询到所述调试程序中存在宏定义,则在启动所述控制器运行所述调试程序之前,先启动日志记录程序;和/或,所述启动单元,还用于:若所述查询单元查询到所述调试程序中不存在宏定义,则直接运行所述控制器的程序,以便观测程序是否存在运转问题。
10、可选地,分析所述日志文件,包括:按照调试时间对所述日志文件进行分割,以得到每次的调试日志;对每次进行分割时的停滞位置进行判断,若每次的程序停滞位置相同,则确定程序的错误存在于程序停滞位置或所述停滞位置附近的代码中;若每次的程序停滞位置存在跳变,则根据跳变的位置进行分析,确定程序中存在的错误,以对所述存在的错误进行修改后,再次进行调试。
11、可选地,所述调试器的内部设置有用于记录程序输出的日志文件的存储介质;所述调试器通过所述调试接口与所述主控板的直接存储器访问模块连接,通过所述直接存储器访问模块将所述日志文件传输至所述调试器的所述存储介质中;和/或,所述调试器通过所述调试接口与所述主控板通过sci、spi和i2c中的至少一种通信方式连接,以将所述日志文件传输至所述调试器的所述存储介质中。
12、本专利技术又一方面提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
13、根据本专利技术的技术方案,采用软件和硬件相结合的调试方法,将调试日志通过调试宏定义内置到程序内部,将运行时的调试日志逐步输出到调试器并记录。通用性强,适用于任何一款芯片,不需要采用价格高昂的调试器设备既能定位到程序中的错误位置,提高调试工作的效率。调试器适配于任何具有串行接口的芯片,可重复利用,设备成本低。采用的设备为即插即用行和离线记录时,调试人员仅需更新程序即可,不用重复学习软件,且能释放调试人员的时间,能大幅度的提高工作效率。
14、根据本专利技术技术方案,能够降低调试过程中不同芯片需要不同适配调试器的价格成本;减少各种调试器软件的学习过程,实现一种调试方法通用,提高调试的工作效率;通过程序和硬件模拟复现程序调试器功能,提高程序调试简便性和方式多样性。采用条件编译和宏定义结合完成程序中易出错位置日志输出程序的编写,便于后续确定程序的bug(缺陷)所在。
本文档来自技高网...【技术保护点】
1.一种控制器的程序调试方法,其特征在于,在所述控制器的主控板上设置有与调试器连接的调试接口,所述调试器通过所述调试接口连接所述主控板,能够读取进行所述程序调试输出的日志文件和/或调试信息并存储;
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求1或2所述的方法,其特征在于,所述调试器的内部设置有用于记录程序输出的日志文件的存储介质;
5.一种控制器的程序调试装置,其特征在于,在所述控制器的主控板上设置有与调试器连接的调试接口,所述调试器通过所述调试接口连接所述主控板,能够读取进行所述程序调试输出的日志文件和/或调试信息并存储;
6.根据权利要求5所述的程序调试装置,其特征在于,还包括:
7.根据权利要求6所述的程序调试装置,其特征在于,
8.根据权利要求5或6所述的程序调试装置,其特征在于,所述调试器的内部设置有用于记录程序输出的日志文件的存储介质;
9.一种存储介质,其特征在于,其上存储有计算机程序,所述程序被
...【技术特征摘要】
1.一种控制器的程序调试方法,其特征在于,在所述控制器的主控板上设置有与调试器连接的调试接口,所述调试器通过所述调试接口连接所述主控板,能够读取进行所述程序调试输出的日志文件和/或调试信息并存储;
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求1或2所述的方法,其特征在于,所述调试器的内部设置有用于记录程序输出的日志文件的存储介质;
5.一种控制器的程序调试装置,其特征在于,在所述控制器的主控板上...
【专利技术属性】
技术研发人员:马红雷,张振沣,章欣,
申请(专利权)人:珠海格力电器股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。