在我们嵌入式开发中,调试代码的方法有很多。比如使用调试器在线调试、借助一些测量仪器、输出调试日志等方式。
没有哪种方法是最好的调试方法,实际开发中需要根据实际情况借助不同的方法进行调试。但是,在一些稍微大点的项目中,输出调试日志却是比较好的调试方法。
输出日志可以比较随意,想输出什么就输出什么,但是也得注意两个点:
一是输出的日志尽量整洁明了,因为如果日志稍微多一点,看起来就会很乱,很扰心;
二是方便打开/关闭日志相关代码,程序调试阶段打开,方便定位问题,程序发布阶段关闭,可节省不必要地资源开销。
最近在做Linux方面的开发,整天分析日志,有点体会。顺便也写点日志笔记分享给大家:
网络上有很多现成的日志库,简单移植一下就可以使用。这里分享一个常用的日志库—— EasyLogger
。
码云仓库及介绍地址:
https://gitee.com/Armink/EasyLogger?_from=gitee_search#easylogger
1、EasyLogger介绍
EasyLogger是一款超轻量级(ROM<1.6K, RAM<0.3K)、高性能的C/C++日志库,非常适合对资源敏感的软件项目,例如:IoT产品、可穿戴设备、智能家居等等。
2、EasyLogger特性
-
支持用户自定义输出方式(例如:终端、文件、数据库、串口、485、Flash...);
-
日志内容可包含级别、时间戳、线程信息、进程信息等;
-
日志输出被设计为线程安全的方式,并支持异步输出及缓冲输出模式;
-
支持多种操作系统(RT-Thread、UCOS、Linux、Windows...),也支持裸机平台;
-
日志支持RAW格式,支持hexdump;
-
支持按标签 、级别、关键词进行动态过滤;
-
各级别日志支持不同颜色显示;<