相关疑难解决方法(0)

valgrind在使用libcurl时检测到内存泄漏(没有ssl)

在我的C程序中,我使用了libcurl的一些基本功能.今天我跑了valgrind,以检查我是否有内存泄漏,valgrind疯狂报告多个错误.

我跟踪它基本上是:

CURL *curl;
CURLcode res;

curl = curl_easy_init();
// ...
curl_easy_cleanup(curl);
Run Code Online (Sandbox Code Playgroud)

如果我完全删除使用libcurl的代码,valgrind不会报告任何错误.

我已经读过使用valgrind与libcurl和ssl有一些问题,但是我不提取任何https网址等.

我能做什么?我可以让valgrind关闭libcurl错误(可能是误报吗?)并仅报告我的代码中的错误?尽管libcurl的使用最简单,但由于存在大量错误,因此valgrind的输出非常混乱.

不幸的是我没有安装libcurl构建的调试,所以valgrind甚至不报告它检测到泄漏的行号/文件.错误消息如下所示:

==27330== 
==27330== HEAP SUMMARY:
==27330==     in use at exit: 34,960 bytes in 2,406 blocks
==27330==   total heap usage: 20,130 allocs, 17,724 frees, 2,511,576 bytes allocated
==27330== 
==27330== 40 (20 direct, 20 indirect) bytes in 1 blocks are definitely lost in loss record 383 of 445
==27330==    at 0x4025BD3: malloc (vg_replace_malloc.c:236)
==27330==    by 0x4B173FD: ???
==27330==    by 0x4B17A8B: ???
==27330==    by 0x4B84957: ???
==27330==    by …
Run Code Online (Sandbox Code Playgroud)

c valgrind memory-leaks libcurl

4
推荐指数
3
解决办法
5849
查看次数

标签 统计

c ×1

libcurl ×1

memory-leaks ×1

valgrind ×1