问题
I'm using visual leak detector. It displays the call stack properly for some leaks, but I get some outputs that the call stack is empty like this:
---------- Block 131148 at 0x69B3AF68: 144 bytes ----------
Leak Hash: 0xCA7D251C, Count: 1, Total 144 bytes
Call Stack (TID 1600):
Data:
B8 0A 80 01 01 00 00 00 7F 7D 00 00 00 00 00 00 ........ .}......
00 00 00 00 A4 81 1A 00 17 00 00 00 A8 AE EA 4E ........ .......N
40 EE 22 53 00 00 70 42 FB 19 CC BD D4 E7 2E 00 @."S..pB ........
CD CD CD CD 80 2D FB 6E A0 4A B2 69 20 8D 00 54 .....-.n .J.i...T
D8 6B 6A 54 00 CD CD CD 38 DB 81 01 40 EE 22 53 .kjT.... 8...@."S
CD CD CD CD CD CD CD CD B0 AF B3 69 CD CD CD CD ........ ...i....
60 DB 81 01 40 EE 22 53 E8 03 00 00 CD CD CD CD `...@."S ........
C8 AF B3 69 CD CD CD CD CD CD CD CD CD CD CD CD ...i.... ........
CD CD CD CD CD CD CD CD 00 00 00 00 CD CD CD CD ........ ........
I don't know how to track issues like this.
Any help would be appreciated.
回答1:
You should try to change the output format from ascii
to unicode
in vld.ini
.
Your stack information must have unicode
caracters that cannot be converted to ascii
.
If VLD is compiled in debug, this results in assertions.
See this related topic on VLD web site: https://vld.codeplex.com/workitem/10606
I posted an alternative to changing vld.ini in a comment (need to modify vld sources and recompile).
来源:https://stackoverflow.com/questions/36382659/visual-leak-detector-vld-displays-empty-call-stack