mbedtls打开日志输出
最近笔者在调试pahomqtt连接加密网站时,总是看不到mbedtls内部日志,查找一番最后可以显示日志,方法如下。
(图片来源网络,侵删)
在调用mbedtls初始化的地方,添加代码
//debug log mbedtls_ssl_conf_dbg(&net->ctx->conf, SslDebug, NULL); mbedtls_platform_set_printf(PlatformDebug);
定义两个日志打印函数:
static void SslDebug(void *ctx, int level, const char *file, int line, const char *str) { Log(TRACE_PROTOCOL, -1, "ssllog=== %s:%04d: %s.", file, line, str); } #define DEBUG_BUF_SIZE 512 static int PlatformDebug(const char *format, ...) { va_list argp; char str[DEBUG_BUF_SIZE]; va_start(argp, format); int ret = vsnprintf(str, DEBUG_BUF_SIZE, format, argp); va_end(argp); if (ret这里Log()为日志打印函数。
修改mbedtls中的源文件:
mbedtls/library/debug.c
static int debug_threshold = 10;这里改一个大一点的值,否则日志出不来。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。