抑制Valgrind中潜在的内存泄漏

抑制Valgrind中潜在的内存泄漏,valgrind,Valgrind,我从Valgrind得到以下日志: MPK ==5263== 4 bytes in 1 blocks are still reachable in loss record 1 of 84 ==5263== at 0x402CE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==5263== by 0x43D9F4B: ??? (in /lib/i386-linux-gnu/libcrypto.so.1

我从Valgrind得到以下日志:

MPK ==5263== 4 bytes in 1 blocks are still reachable in loss record 1 of 84
==5263==    at 0x402CE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==5263==    by 0x43D9F4B: ??? (in /lib/i386-linux-gnu/libcrypto.so.1.0.0)
==5263==    by 0x43DA5DB: CRYPTO_malloc (in /lib/i386-linux-gnu/libcrypto.so.1.0.0)
==5263==    by 0x44449A5: ??? (in /lib/i386-linux-gnu/libcrypto.so.1.0.0)
==5263==    by 0x44451EE: ENGINE_add (in /lib/i386-linux-gnu/libcrypto.so.1.0.0)
==5263==    by 0x444A776: ENGINE_load_dynamic (in /lib/i386-linux-gnu/libcrypto.so.1.0.0)
我很确定我的代码或使用libcrypto的libcurl中没有任何错误,所以我想抑制这些消息

从中,我可以找到任何合适的抑制类型


应该在抑制文件中写入什么?

您可以通过运行与
--gen suppressions=yes
相同的命令来生成抑制块。这是找出如何使用valgrind抑制给定错误的最简单方法。只要让它告诉你你应该包括什么作为一种抑制

valgrind生成抑制后,可以将其放入文本文件中


使用
--suppressions=
参数指定抑制文件,再次运行valgrind,viola您的错误/警告将消失。

您可以通过使用
--gen suppressions=yes
运行相同的命令来生成抑制块。这是找出如何使用valgrind抑制给定错误的最简单方法。只要让它告诉你你应该包括什么作为一种抑制

valgrind生成抑制后,可以将其放入文本文件中

使用
--suppressions=
参数再次运行valgrind指定抑制文件,viola您的错误/警告将消失