"); //--> 6.30是什么星座| 肚子特别疼是什么原因| 马马虎虎指什么生肖| 脑梗复查挂什么科| 旗舰是什么意思| 女人丹凤眼意味什么| 黄磊为什么不娶刘若英| 父亲节送什么礼物比较好| 什么是柏拉图式的爱情| 渃是什么意思| plus什么意思| 小腿肚抽筋是什么原因| 成功的反义词是什么| 是谁送你来到我身边是什么歌| o型血容易得什么病| 肠胃不好吃什么药最好| 嗓子疼是什么原因引起的| 空调什么牌子最好| 阖闾和夫差是什么关系| 职位是什么意思| 白蛋白偏高是什么意思| 三点水弘读什么| 耽美剧是什么意思| 减肥头晕是什么原因| 什么食物热量低| 大便量少是什么原因| 乏力是什么症状| nb什么牌子| 二级教授是什么意思| 空气炸锅能做什么| 框框是什么意思| 一日之计在于晨是什么生肖| 什么的枝干| 元胡是什么| 小孩口腔溃疡是什么原因引起的| 鼻涕带血是什么原因| 入赘是什么意思| 远在天边近在眼前是什么意思| 电轴左偏是什么意思| 洗钱是什么意思| 女人做梦哭醒预示什么| 一个王一个月念什么| 一树梨花压海棠什么意思| 扁桃体发炎什么症状| 第一次表白送什么花| ar是什么意思| 虫加合念什么| 夜明砂是什么| 是什么意思| 竖心旁有什么字| 上午八点是什么时辰| 相逢是什么意思| hgh是什么意思| 肝外胆管扩张什么意思| 什么舞蹈| 牙龈一直出血是什么原因| 老年痴呆症挂什么科| 下颌骨紊乱挂什么科| 颜值担当是什么意思| 黄体破裂有什么症状| 婴幼儿积食会有什么症状| 回归是什么意思| 划扣是什么意思| 膝关节咔咔响是什么原因| 什么颜色加什么颜色等于棕色| 幻听一般会听到什么| 洗衣机启动不了是什么原因| 第一次坐飞机要注意什么| 天秤座女和什么星座最配| 腰间盘突出用什么药好| 人人有的是什么生肖| 什么鸟叫声最好听| 肩膀疼应该挂什么科| 心肌酶是检查什么的| 血小板下降是什么原因| 扁平足适合穿什么鞋| 冬天吃什么水果| afi是胎儿的什么意思| 吸烟有什么危害| 尿素氮偏高是什么意思| 万事如意是什么生肖| 无创和羊水穿刺有什么区别| 五谷是什么| 男生喜欢什么礼物| 什么补肾壮阳最好| 什么动物最厉害| 经常头晕是什么原因| 什么是菩提心| 可燃冰属于什么能源| 酥油是什么油| c7是什么意思| 右肾肾盂分离什么意思| 糖尿病人不能吃什么水果| 什么时候喝牛奶效果最佳| 吉祥物是什么生肖| 肾功能不全是什么意思| 文定之喜是什么意思| 风骚什么意思| 庸人自扰什么意思| 右大腿上部疼痛是什么原因| 五指毛桃长什么样子| 打豆豆是什么意思| 戒色是什么意思| 红薯是什么季节的| 麻鸭是什么鸭| 冰镇情人果是什么水果| 证件照一般是什么底色| 精液是什么形成的| 女人吃什么提高性激素| 血压高压高是什么原因| 联通查话费打什么号码| 足跟疼痛用什么药| 口腔溃疡是缺什么| 踏马什么意思| 深圳有什么好吃的| 肾积水挂什么科室| 骨化是什么意思| 白头发多吃什么食物能变黑| 凌晨3点多是什么时辰| 文号是什么| 抑郁症为什么会想死| 馋是什么意思| 老年人经常头晕是什么原因造成的| 什么人什么己| 什么是正太| 本色出演是什么意思| 蜜蜂怕什么| 秋葵有什么营养价值| 胰腺在什么位置| 欣喜若狂是什么意思| 天空为什么会打雷| 甄别是什么意思| 低血压吃什么好的最快女性| 总胆固醇低是什么原因| 次日什么意思| 陈真属什么生肖| 精神慰藉什么意思| 焦虑症应该挂什么科室| 压疮用什么药最快能好| 主人是什么意思| 什么叫质子| 鲐背之年是什么意思| 韧带是什么| 右肋骨下方隐隐疼痛是什么原因| 刘诗诗是什么样的人| 甲亢看什么科| 肚脐下面疼是什么原因| 来月经为什么会头疼| 6月13号是什么星座| tr是什么材质| 什么花在什么时间开| 橘红是什么| 胶质瘤是什么病| 九五年属什么| 孔雀鱼吃什么食物| hh是什么牌子| 什么食物含蛋白质高| 小孩下面痒用什么药| 端坐呼吸常见于什么病| 奔波是什么意思| 解表化湿是什么意思| 南岳什么山| 糖尿病吃什么| 安徽什么阳| 灵五行属性是什么| 宫禁糜烂用什么药| 世界上最毒的蛇是什么蛇| 冯字五行属什么| 梦见黑山羊是什么预兆| 什么鸡没有翅膀| 梦见在河里抓鱼是什么征兆| 悄悄的什么| 白羊跟什么星座最配| 什么是余额宝| 老公的姐姐叫什么| 维生素b族什么时候吃| 疼痛科主要看什么病| 主动脉迂曲是什么意思| 喝什么最解渴| 呕吐拉肚子吃什么药| 右手无名指戴戒指代表什么| 为什么有的人怎么吃都不胖| 胎盘宫底后壁是什么意思| 郑和下西洋是什么朝代| 微针有什么功效| 四肢肿胀是什么原因引起的| 滑膜炎吃什么药能治好| gap是什么牌子的衣服| 花枝招展什么意思| 婆媳关系为什么难相处| 髋关节在什么位置| 画蛇添足是什么生肖| 排骨炖什么| 1997年的牛是什么命| 着痹是什么意思| 荷叶和什么搭配最减肥| 地格是什么意思| 皮肤长痘痘是什么原因| 半夏是什么| cm2是什么单位| 红蜘蛛用什么药最有效| 什么阻力| 额是什么意思| gh发什么音| hpm是什么意思| 哭有什么好处| 樱花什么时候开花| 纯化水是什么水| 林彪为什么要叛逃| 晚生是什么意思| 遗精是什么原因引起的| 什么学步成语| nt什么时候做| 钢琴8级什么水平| 2017是什么年| 正在候车是什么意思| 干燥综合征吃什么药| 五味杂粮什么意思| 束手无策是什么意思| 常喝三七粉有什么好处| 虎虎生风是什么意思| 女右上眼皮跳是什么预兆| 过敏性鼻炎吃什么药能快速缓解| 兔日冲鸡什么意思| 喝什么胸会变大| 小的五行属什么| 痛风为什么要禁欲| 普乐安片治什么病| 从容面对是什么意思| 次是什么意思| 彼此彼此什么意思| 猫怕什么动物| 溲黄是什么意思| 心什么| 玮字五行属什么| 关羽的马叫什么名字| 知了吃了有什么好处| 恢复伤口吃什么好得快| 李世民是什么民族| 一个虫一个卑念什么| 什么是隐匿性包茎| 一吃东西就牙疼是什么原因引起的| 平行班是什么意思| bpm是什么单位| 很黄很暴力是什么意思| 为什么喜欢春天| 安赛蜜是什么| 柬埔寨用什么货币| 杨幂的公司叫什么名字| 酸奶有什么好处| haze是什么意思| 军级相当于什么级别| 撑台脚是什么意思| 过敏了吃什么药好| 大运流年是什么意思| 惜败是什么意思| 哺乳期吃什么食物好| 类风湿为什么反复发烧| 良去掉一点读什么| 为什么低烧比高烧可怕| 为什么总是做噩梦| 茶壶嘴为什么不能对着人| 晚上11点是什么时辰| 查血常规挂什么科| 百度
新闻  |   论坛  |   博客  |   在线研讨会
推荐一个实用的嵌入式日志开源项目 dbuglib
xiaomaidashu | 2025-08-05 13:52:38    阅读:1003   发布文章

嵌入式开发过程中,调试是必不可少的一个环节。怎样调试才能快速定位代码的问题呢?方法有很多,今天给大家分享一款精小调试支持库:dbuglib.概述

ulog日志记录库是一个精小的静态日志记录库。内部很多功能均由宏定义来实现。用户可以修改日志的级别用于过滤特定级别的日志。

文件
  • ulog.h:定义了各种日志记录级别和日志记录宏

  • ulog.c:提供了内存打印等接口函数

  • ASSERT.h:提供了用户可定义的断言宏支持

  • VS文件夹:VC上位机测试示例

  • MDK文件夹:MDK下位机测试示例

日志级别

ulog支持5种日志记录级别,可在ulog.h文件中修改LOG_CFG_LEVE宏定义来定义日志的记录级别。

  • G_DEBUG:调试日志级别,用来记录最详细的调试信息和执行步骤

  • G_TRACE:跟踪日志级别,用来记录重要的跟踪信息

  • G_WARNG:警告日志级别,用来记录一些警告信息

  • G_ERROR:错误日志级别,用来记录严重的错误信息

  • G_NONE:不做任何日志记录

示例1:将LOG_CFG_LEVE配置为G_WARNG级别,则只会显示G_WAGNGG_ERROR两个级别的日志记录,其他的记录级别较低将不被显示 示例2:配置为G_NONE级别将禁用日志记录功能

定义日志记录样式

ulog.h文件中定义了LOG_FUN宏,用户可以对其修改来改变日志的打印样式

// 定义打印样式
#define LOG_FUN(LEVESTR,format, ...)      
   LOG_PRINTF("["LEVESTR"] <"__FILE__": %d"">: " format "rn",__LINE__,##__VA_ARGS__)
使用方式
    ASSERT_MSG(, );
    uLOG(G_DEBUG,,);
    uLOG_MEM(G_DEBUG, randbuff, , ,);

打印数据如下:

[G_DEBUG] <main.c: 16>: error:123
[G_DEBUG] <main.c: 17>: error:586
00000000: 29 23 BE 84 E1 6C D6 AE 52 90 49 F1 F1 BB E9 EB  )#...l..R.I.....
00000010: B3 A6 DB 3C 87 0C 3E 99 24 5E 0D 1C 06 B7 47 DE  ...<..>.$^....G.
00000020: B3 12 4D C8 43 BB 8B A6 1F 03 5A 7D 09 38 25 1F  ..M.C.....Z}.8%.
00000030: 5D D4 CB FC 96 F5 45 3B 13 0D 89 0A 1C DB AE 32  ].....E;.......2
00000040: 20 9A 50 EE 40 78 36 FD 12 49 32 F6 9E 7D 49 DC   .P.@x6..I2..}I.
00000050: AD 4F 14 F2 44 40 66 D0 6B C4 30 B7 32 3B A1 22  .O..D@f.k.0.2;."
00000060: F6 22 91 9D E1 8B 1F DA B0 CA 99 02 B9 72 9D 49  ."...........r.I
00000070: 2C 80 7E C5 99 D5 E9 80 B2 EA C9 CC 53           ,.~.........S

以上为程序的使用示例,说明如下:

  • uLOG:指定日志级别和相应的字符串,其支持printf类似的转移修饰符

  • uLOG_MEM:可打印指定的内存数据,同样需要指定日志级别,

  • ASSERT:该宏当参数为假时会停止程序,并打印显示当前导致断言的文件和行号

  • ASSERT_MSG:与ASSERT相同,只不过多了个字符串参数,可以显示一些信息。

移植

该库编写时使用了一些C99特性,所以编译器必须支持C99标准。已经在VS2015和MDK5.0中测试,均可正常工作。移植时必须定义LOG_PRINTF宏到实际的打印函数,还必须定义LOG_PUT_CHAR宏到实际的字符输出函数:

// 字符输出函数
#define LOG_PUT_CHAR(C) putchar(C)
// 日志记录接口
#define LOG_PRINTF(format, ...) printf(format, ##__VA_ARGS__)


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
一个热爱技术的工程师,分享技术,一起进步。
推荐文章
最近访客
爱有什么用 生肖龙和什么生肖相冲 大麦茶是什么做的 一什么池塘 暧昧什么意思
性早熟是什么意思 吃什么最补血 五十而知天命是什么意思 吃什么最容易消化 扑街是什么意思
邮政编码有什么用 宫颈多发潴留囊肿是什么意思 凉爽的什么 防是什么生肖 什么是腹式呼吸
手指甲紫色是什么原因 梦见好多狗是什么预兆 空气湿度是什么意思 什么是蛇缠腰病 前列腺增生伴钙化是什么意思
骨折忌口什么食物hcv8jop3ns9r.cn 什么效应hcv8jop2ns0r.cn 无妄之灾什么意思hcv8jop3ns5r.cn 白砂糖和冰糖有什么区别hcv9jop3ns5r.cn 宫内积液什么意思hcv8jop8ns9r.cn
野格是什么酒hcv9jop3ns8r.cn 公主和郡主有什么区别hcv9jop1ns6r.cn 收录是什么意思hcv8jop5ns2r.cn 拔牙之后需要注意什么事项hcv9jop4ns1r.cn 知鸟吃什么hcv9jop6ns2r.cn
拍大腿内侧有什么好处chuanglingweilai.com 肝肾不足吃什么中成药wuhaiwuya.com 11月7号是什么星座hcv7jop7ns1r.cn 男人鼻子大代表什么hcv8jop6ns3r.cn 遗尿是什么症状hcv7jop7ns4r.cn
继发性是什么意思hcv9jop4ns4r.cn 嗓子干痒吃什么药效果好hcv9jop0ns6r.cn 耳朵老是痒是什么原因hcv8jop5ns7r.cn 感染四项挂什么科jiuxinfghf.com 治疗静脉曲张有什么药naasee.com
百度