例如
==26460== 2 bytes in 1 blocks are still reachable in loss record 2 of 105
==26460== at 0x4C28BE3: malloc (vg_replace_malloc.c:299)
==26460== by 0x580D889: strdup (in /usr/lib64/libc-2.17.so)
==26460== by 0x4F50AF: init (init.c:468)
==26460== by 0x406D75: main (main.c:825)
Run Code Online (Sandbox Code Playgroud)
我不想检查 init.c:468: mode = strdup,我确定这只会 malloc 一次,并且会持续整个进程生命。
是否可以让 valgrind 不检查这条线?
正如我在评论中所说:我建议不要这样做。
但是 Valgrind 确实具有抑制警告的功能。专用于该目的的功能支持抑制特定消息的最方便的方法:
--gen-suppressions=yes
Run Code Online (Sandbox Code Playgroud)
这显然将为每个/任何生成的消息输出精确的抑制语法。
请参阅常见问题解答中的 5.1:http :
//valgrind.org/docs/manual/faq.html#faq.writesupp
(我喜欢他们的风格:
“F:你能为我写......吗?”我期望一个完全足够的
“A:不。”但他们实际上回答
“A:是......”。太酷了。)