[LWIP] 如何启LWIP用调试信息输出

主要在两个文件内配置opt.h和lwipopts.h。

第一步 启动调试项

cpp 复制代码
//LWIP调试选项
#define LWIP_DEBUG        LWIP_DBG_ON	 //LWIP_DBG_OFF关闭DEBUG选项 LWIP_DBG_ON

第二步 设置调试等级和类型

opt.h文件中

cpp 复制代码
 * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is
 * compared against this value. If it is smaller, then debugging
 * messages are written.
 * @see debugging_levels
 */
#if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__
#define LWIP_DBG_MIN_LEVEL              LWIP_DBG_LEVEL_ALL
#endif

/**
 * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable
 * debug messages of certain types.
 * @see debugging_levels
 */
#if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__
#define LWIP_DBG_TYPES_ON               LWIP_DBG_ON
#endif

LWIP_DBG_MIN_LEVEL 调试信息等级

LWIP_DBG_TYPES_ON 调试类型

调试等级LWIP_DBG_MIN_LEVEL有以下可定义

cpp 复制代码
 #define LWIP_DBG_LEVEL_ALL     0x00
/** Debug level: Warnings. bad checksums, dropped packets, ... */
#define LWIP_DBG_LEVEL_WARNING 0x01
/** Debug level: Serious. memory allocation failures, ... */
#define LWIP_DBG_LEVEL_SERIOUS 0x02
/** Debug level: Severe */
#define LWIP_DBG_LEVEL_SEVERE  0x03    

调试类型在 opt.h中定义开启比如将NETIF_DEBUG调试信息开启

cpp 复制代码
#if !defined NETIF_DEBUG || defined __DOXYGEN__
#define NETIF_DEBUG                     LWIP_DBG_ON
#endif      

第三步 定义输出信息函数

实现调试信息输出函数定义,一般是实现printf函数。

cpp 复制代码
#define LWIP_PLATFORM_DIAG(x)         do { printf x; } while(0)  // 需要实现printf

调试建议

在调试等级设置上,建议设置LWIP_DBG_LEVEL_WARNING及以上等级,如果设置ALL可能会有太多的输出信息难以查找问题。

关闭调试

只需将LWIP_DEBUG选项设置为关闭即可

cpp 复制代码
//LWIP调试选项
#define LWIP_DEBUG        LWIP_DBG_OFF  //LWIP_DBG_OFF关闭DEBUG选项 LWIP_DBG_ON
相关推荐
CODECOLLECT2 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen2 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠5 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
深圳市九鼎创展科技7 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计7 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报9 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业9 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
czwxkn9 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件
Love Song残响9 小时前
NVIDIA显卡终极优化指南
stm32·单片机·嵌入式硬件
qq_6725927510 小时前
电源芯片为什么发热
单片机·嵌入式硬件