1、调试的话,有很多手段,在实验室研发阶段大多使用在线调试/仿真手段
2、在实际场景工作中,在线调试和仿真时不可取的,所以大家尽量摈弃依赖在线调试的方式跑数据和调试代码。因为我们开发产品交付给客户时,大部分产品知识客户产品一部分,客户不可能让你去现场拆自己的产品/设备让你去在线仿真。你只能做的是远程抓数据。
3、远程调试,就是打印log,这就不得不提几个宏定义了
__func__ 函数名
__LINE__行数
__TIME__时间
__DATE__日期
上面几个都是常用的宏定义,基本上都能预定义支持,借助使用他们,方便我们定位问题。
不同的编译器有提供很多预置的宏定义,没事多看看编译器的帮助,关于宏定义的,你可能会发现意外之惊喜~~
4、还有是将调试信息存储到flash的操作,这个比较基本就不说了