主要在两个文件内配置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