我从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)
我很确定我的代码或libcurl中没有任何问题,使用libcrypto,所以我想要禁止这些消息。
从documentation我可以找到任何合适的抑制类型。
应该在抑制文件中写什么?
答案 0 :(得分:4)
您可以通过使用--gen-suppressions=yes
运行相同的命令来生成抑制块。这是了解如何使用valgrind抑制给定错误的最简单方法。只是让它告诉你你应该包括什么作为抑制。
valgrind生成抑制后,您可以将其放入文本文件中。
再次使用--suppressions=<filename>
参数运行valgrind指定抑制文件,并且中断错误/警告将会消失。