在实际的测试环境中,内存在不断的增长,尽管不是很明显
代码申请内存分析
struct Curl_multi *Curl_multi_handle(int hashsize, /* socket hash */
int chashsize) /* connection hash */
该函数创建了Curl_muti结构体,并且申请了好几块内存,分别是hostcache,sockhash,conn_cache
void curl_easy_cleanup(struct Curl_easy *data)
Curl_close(data);
内存检测
采用vld的方式检测
在调用curl_global_cleanup();之后,没有检测到有任何的内存泄漏,目前没有知道是哪里的内存一直保存
curl_global_cleanup 执行两部操作
1)卸载iphlpapi.dll(Windows IP辅助API应用程序接口模块)
2)卸载Win32Sock : WSACleanup();
参考
https://www.jianshu.com/p/7b7cff13e731
libcurl第十二课 内存分析
最新推荐文章于 2024-05-07 10:09:16 发布
本文探讨了CURL在实际测试环境中内存使用情况,详细分析了Curl_multi_handle函数如何创建Curl_muti结构体并申请内存,包括hostcache、sockhash、conn_cache等。同时介绍了curl_easy_cleanup函数用于清理资源,以及通过vld工具检测curl_global_cleanup后的内存泄漏情况。
1012

被折叠的 条评论
为什么被折叠?



