mbedtls打开日志输出

07-16 1238阅读

 最近笔者在调试pahomqtt连接加密网站时,总是看不到mbedtls内部日志,查找一番最后可以显示日志,方法如下。

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;

这里改一个大一点的值,否则日志出不来。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]