В одном из моих кодов дезинфицирующее средство для утечек сообщает о некоторых косвенных утечках, но отсутствует полная трассировка стека, из-за которой я не могу найти, где на самом деле происходит утечка. Мне нужно знать, где именно происходит эта утечка, чтобы я мог ее исправить или подавить (если она есть во внешних библиотеках)
Я получаю следующий отчет
* ============================================== ===================
==10166==ERROR: LeakSanitizer: detected memory leaks
Indirect leak of 1586 byte(s) in 29 object(s) allocated from:
#0 0x59fb52 in operator new(unsigned long) /local/mnt/workspace/bcain_0721/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:92:3
#1 0x7f3700728918 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /local/scratch/ejseado/working/gcc-7.3.0-build/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:111
#2 0x7f3700728918 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /local/scratch/ejseado/working/gcc-7.3.0-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1057
Indirect leak of 59 byte(s) in 1 object(s) allocated from:
#0 0x59fb52 in operator new(unsigned long) /local/mnt/workspace/bcain_0721/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:92:3
#1 0x7f3700728918 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /local/scratch/ejseado/working/gcc-7.3.0-build/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:111
#2 0x7f3700728918 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /local/scratch/ejseado/working/gcc-7.3.0-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1057
#3 0x60f000a8672f (<unknown module>)
Indirect leak of 59 byte(s) in 1 object(s) allocated from:
#0 0x59fb52 in operator new(unsigned long) /local/mnt/workspace/bcain_0721/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:92:3
#1 0x7f3700728918 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /local/scratch/ejseado/working/gcc-7.3.0-build/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:111
#2 0x7f3700728918 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /local/scratch/ejseado/working/gcc-7.3.0-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1057
#3 0x7ffd510f463f ([stack]+0x5d63f)
----------------------------------------------- ------ *
Я пытался использовать следующую опцию
setenv ASAN_OPTIONS fast_unwind_on_malloc = 0
но при этом все утечки исчезают, в то время как в документации сказано, что это должно дать детальную трассировку стека
Может ли кто-нибудь помочь мне в этом?
Спасибо