知识大整理--恶人恶语--关于 log 打印,与仿真。

来吧,来一场知识大整理吧!!!

来自一事无成的恶魔,个人知识的整理。

关于 log 打印,与仿真。

 

对于单片机从业人员来说(PS:应该对于嵌入式工作者,或纯软件的人员来说,都是适用的),有人喜欢用log打印,有人喜欢用仿真。

 

从我总结的经验来说,一般,不能单靠log打印或仿真,就能解决问题。

 

先说log打印吧。我们有时bug很难出来。可能软件,运行几小时,或几天,才会出现该bug。那么,如果,你选择了仿真来解决该问题。那么,你捕捉到该问题,就要靠运气了。难道,你一直坐在电脑前面,来看你的仿真???不停的单步???显然,这个是不科学的。如果,你用log打印,把打印信息传给电脑,再不停的保存起来一个log文件。那么,你的程序,出现了问题。你去查看log日志文件,通过搜索功能,你去搜索你的关键字。再去看定位到的位置,上下文。那么,你可以很快的分析出来,你大约在那一步出现了问题。

 

而仿真,明显很难做到该效果。好了,现在我再来说一下仿真。仿真,可以,实时的看到进程(程序)里面的值,我立马就可以通过,不同的格式,不同的解释方法,对数据进行解释。并且,我可以观察当时的内存,flash,寄存器,变量。以及,当场修改它们。这点,log打印,无法做到。主要是无法做到,当场就修改它们。

 

基于上述的情况。我们通常的做法,就是log打印+仿真。log打印,做初步的记录,并排查。当大约定位到相关的代码段,或功能时,再做仿真。

 

对于纯软件来说,仿真,就是一个debug,设断点,单步等效果。log日志,那对于纯软件的人来说,太好办了,有诸多的库。例如,log4cpp之类。那么对于单片机开发者(嵌入式开发者),怎么做一个log日志记录???我总结了一下,大约有如下手段。第一个方法,我接一个debug串口,通过debug串口,不停的打印信息,把debug串口,接到电脑。电脑用xshell之类的软件,不停的显示,打印信息。并且,我可以用xshell的附带的功能,把log打印信息,保存成一个文本文件。当然啦,设备多了一个debug串口,做打印。就意味着,少了一个串口来用。但是,当你的串口,已用完的情况下。我们可以用方法二。第二个方法,不用debug串口,我们用一个flash、sd卡来解决。我们通过文件系统,在flash或sd卡之类的,建立一个文本文件。把打印信息,写进该文本文件里面。需要分析时,再把flash或sd卡中的文本文件读出来分析。

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值