跑代码时发现有如下报错:
LeakSanitizer: bad pointer 0x7ffd00735130
==38254==Sanitizer CHECK failed: ../../../../libsanitizer/sanitizer_common/sanitizer_allocator_secondary.h:174 ((IsAligned(reinterpret_cast<uptr>(p), page_size_))) != (0) (0, 0)
按照如上修改后,问题解决,红框内是出问题时的编码,原因是指针用法有问题,这里定义了一块结构体但没有给其分配内存
诸如类似的错误还有:
LeakSanitizer:DEADLYSIGNAL
==40645==ERROR: LeakSanitizer: SEGV on unknown address 0x7f97d2723000 (pc 0x7f97d10b4d0c bp0x7ffe6ff2b740 sp 0x7ffe6ff2b080 T0)
==40645==The signal is caused by a READ memory access.
#0 0x7f97d10b4d0b in _IO_vfprintf (/lib64/libc.so.6+0x47d0b)
#1 0x7f97d10bc069 in __printf (/lib64/libc.so.6+0x4f069)
#2 0x401484 in main ../../test-cpp/linux/main.cc:51
#3 0x7f97d108bd1f in __libc_start_main (/lib64/libc.so.6+0x1ed1f)
#4 0x401128 (/root/cpp/trunk/cpp-project/WeakpwdProc/project/build/Release/test-ALL+0x401128)
LeakSanitizer can not provide additional info.
SUMMARY: LeakSanitizer: SEGV (/lib64/libc.so.6+0x47d0b) in _IO_vfprintf
==40645==ABORTING
一般都是指针用法上的问题