繁体   English   中英

使用Libgcrypt的程序中的内存泄漏

[英]Memory leak in a program with Libgcrypt

我正在使用Libgcrypt进行一些测试,当我使用valgrind检查内存使用情况时,退出时有3200个字节在使用中。

我尝试使用

valgrind --leak-check=full --track-origins=yes --show-reachable=yes ./my_program

但是valgrind valgrind只在我的代码中抱怨这一行:

version = gcry_check_version("1.5.0");

以及有关Libgcrypt内部功能的valgrind。

我的测试代码在这里: http ://www.tiago.eti.br/storage/post2.c而且我正在使用Debian sid存储库中的Libgcrypt 1.5.0。

这是Libgcrypt的错误,还是我做错了什么?

并非所有的库都非常小心地清理所有资源。 只要某些“永久”分配仅发生一次并且一直使用到程序结束(例如,对于版本字符串),那么该库就完全有可能永远不会去分配它。

因此,与第三方库打交道是不幸的现实,如果麻烦您了,则应使用--gen-suppressions=all为Valgrind制作一个禁止文件。

请记住,“仍然可以到达”的内存只是“懒惰”,而不是真正的泄漏 ,因为您实际上从未丢失分配。 泄漏应视为真正的编程错误,尽管仍然可以到达,但未取消分配的内存可能是或可能不是可以忽略的快捷方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM