Я пытаюсь использовать ASAN в библиотеке с привязками go.Я довольно новичок в C ++, так что простите, если это простой вопрос.Тем не менее, я бы, по крайней мере, ожидал, что AddressSanitizer скажет мне более точно, где он фактически просочился, возможно, в моем коде!
На самом деле, я могу видеть только то, что сам libasan просочился в несколько байтов.Может быть, я даже не запускаю ASAN должным образом?
shinichi@ilya:~/source/go/src/github.com/theQRL/go-qrl [master*]$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4 go test -bench -v ./pkg/core/block
# github.com/theQRL/go-qrl/pkg/core/block (testmain)
/usr/lib/go-1.10/pkg/tool/linux_amd64/link: running g++ failed: exit status 1
//usr/lib/x86_64-linux-gnu/libasan.so.4: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
//usr/lib/x86_64-linux-gnu/libasan.so.4: warning: the use of `tempnam' is dangerous, better use `mkstemp'
//usr/lib/x86_64-linux-gnu/libasan.so.4: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
=================================================================
==13851==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 846056 byte(s) in 7 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x7f0af48b82e1 in bfd_malloc (/usr/lib/x86_64-linux-gnu/libbfd-2.30-system.so+0x502e1)
Direct leak of 5680 byte(s) in 3 object(s) allocated from:
#0 0x7f0af4c96f40 in realloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdef40)
#1 0x7f0af4962a4c in xrealloc (/usr/lib/x86_64-linux-gnu/libbfd-2.30-system.so+0xfaa4c)
Direct leak of 5536 byte(s) in 1 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x5579758a0b61 (/usr/bin/x86_64-linux-gnu-ld.bfd+0x13b61)
Direct leak of 4504 byte(s) in 147 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x7f0af49629c7 in xmalloc (/usr/lib/x86_64-linux-gnu/libbfd-2.30-system.so+0xfa9c7)
Direct leak of 512 byte(s) in 8 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x55797589e632 (/usr/bin/x86_64-linux-gnu-ld.bfd+0x11632)
Direct leak of 64 byte(s) in 1 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x5579758a078f (/usr/bin/x86_64-linux-gnu-ld.bfd+0x1378f)
Indirect leak of 131088 byte(s) in 8 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x55797589e648 (/usr/bin/x86_64-linux-gnu-ld.bfd+0x11648)
Indirect leak of 8991 byte(s) in 1 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x5579758a07a4 (/usr/bin/x86_64-linux-gnu-ld.bfd+0x137a4)
Indirect leak of 44 byte(s) in 1 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x7f0af49629c7 in xmalloc (/usr/lib/x86_64-linux-gnu/libbfd-2.30-system.so+0xfa9c7)
#2 0x3638782f6363672e (<unknown module>)
Indirect leak of 31 byte(s) in 1 object(s) allocated from:
#0 0x7f0af4c96b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x7f0af49629c7 in xmalloc (/usr/lib/x86_64-linux-gnu/libbfd-2.30-system.so+0xfa9c7)
#2 0x6d742f3d6e6f6973 (<unknown module>)
SUMMARY: AddressSanitizer: 1002506 byte(s) leaked in 178 allocation(s).
collect2: error: ld returned 1 exit status
=================================================================
==13849==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 4378 byte(s) in 21 object(s) allocated from:
#0 0x7f9e6fcb4b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x4720c7 (/usr/bin/x86_64-linux-gnu-g++-7+0x4720c7)
Direct leak of 160 byte(s) in 1 object(s) allocated from:
#0 0x7f9e6fcb4d38 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded38)
#1 0x472100 (/usr/bin/x86_64-linux-gnu-g++-7+0x472100)
Indirect leak of 18 byte(s) in 1 object(s) allocated from:
#0 0x7f9e6fcb4b50 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb50)
#1 0x4720c7 (/usr/bin/x86_64-linux-gnu-g++-7+0x4720c7)
SUMMARY: AddressSanitizer: 4556 byte(s) leaked in 23 allocation(s).
FAIL github.com/theQRL/go-qrl/pkg/core/block [build failed]
shinichi@ilya:~/source/go/src/github.com/theQRL/go-qrl [master*]$