==38254==Sanitizer CHECK failed報錯解決


跑代碼時發現有如下報錯:

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

 一般都是指針用法上的問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM