C++ 抑制泄漏消毒剂输出

C++ 抑制泄漏消毒剂输出,c++,address-sanitizer,leak-sanitizer,C++,Address Sanitizer,Leak Sanitizer,如何抑制消毒液泄漏输出 对于地址消毒器,我可以使用\uuuuu属性((no\u sanitize\u Address)) 但这对LS不起作用 __attribute__((no_sanitize_address)) std::shared_ptr make_module() { return std::shared_ptr(new client); } 尝试运行export LSAN\u OPTIONS=detect\u leaks=0。要获得更精细的控制,请使用LSAN_OPTIONS=

如何抑制消毒液泄漏输出

对于地址消毒器,我可以使用
\uuuuu属性((no\u sanitize\u Address))
但这对LS不起作用

__attribute__((no_sanitize_address))
std::shared_ptr make_module()
{
  return std::shared_ptr(new client);
}

尝试运行
export LSAN\u OPTIONS=detect\u leaks=0
。要获得更精细的控制,请使用
LSAN_OPTIONS=suppressions
接口(如所述)。

实际修复泄漏不是更好吗?@ChristianRapp如果它们在libs中,则不会。offtopic:
std::make_shared
。@ChristianRapp,没有。我的研究发现,这似乎是一个假阳性结果。是的,我们有双重分配,但是这段代码每次运行调用一次,并且在
make_shared
出现之前很久就编写了。
  21 Indirect leak of 3670536 byte(s) in 1 object(s) allocated from:
  22     #0 0x7fbf42f521a8 in operator new(unsigned long) (/lib64/libasan.so.4+0xe01a8)
  23     #1 0x7106b2 in graphite::make_module() /client.cc:15