视觉泄漏检测器 (VLD) 显示空调用堆栈
Visual leak detector (VLD) displays empty call stack
我正在使用可视检漏仪。它为一些泄漏正确显示调用堆栈,但我得到一些调用堆栈为空的输出,如下所示:
---------- 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 ........ ........
我不知道如何跟踪此类问题。
如有任何帮助,我们将不胜感激。
您应该尝试在 vld.ini
中将输出格式从 ascii
更改为 unicode
。
您的堆栈信息必须有 unicode
个无法转换为 ascii
的字符。
如果 VLD 在调试中编译,这会导致断言。
在 VLD 网站上查看此相关主题:
https://vld.codeplex.com/workitem/10606
我在评论中发布了更改 vld.ini 的替代方法(需要修改 vld 源并重新编译)。
在 vld.ini
中将 ascii
更改为 unicode
对我不起作用。
但是将我的项目从 包含 unicode 字符的目录(例如汉字)移动到不包含 unicode 字符的目录,vld 确实显示调用堆栈。
我正在使用可视检漏仪。它为一些泄漏正确显示调用堆栈,但我得到一些调用堆栈为空的输出,如下所示:
---------- 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 ........ ........
我不知道如何跟踪此类问题。
如有任何帮助,我们将不胜感激。
您应该尝试在 vld.ini
中将输出格式从 ascii
更改为 unicode
。
您的堆栈信息必须有 unicode
个无法转换为 ascii
的字符。
如果 VLD 在调试中编译,这会导致断言。
在 VLD 网站上查看此相关主题: https://vld.codeplex.com/workitem/10606
我在评论中发布了更改 vld.ini 的替代方法(需要修改 vld 源并重新编译)。
在 vld.ini
中将 ascii
更改为 unicode
对我不起作用。
但是将我的项目从 包含 unicode 字符的目录(例如汉字)移动到不包含 unicode 字符的目录,vld 确实显示调用堆栈。