我用VLD检测到内存泄露,但不知道输出的信息是什么意思,有没有什么方法直接定位到泄露内存的地方呢,请指教!

瞧见风 2010-01-07 04:30:48
如题!有没有什么方法可以直接定位到泄漏的函数,变量等等具体的位置呢?VLD输出的信息怎么看啊?请指教!

Visual Leak Detector is now exiting.
Detected memory leaks!
Dumping objects ->
{644} normal block at 0x00DE8CA0, 16 bytes long.
Data: < qiao > 08 00 00 00 00 00 00 00 71 69 61 6F 00 CD CD CD
{643} normal block at 0x00DE9500, 16 bytes long.
Data: < 1 > 08 00 00 00 00 00 00 00 31 00 CD CD CD CD CD CD
{642} normal block at 0x00DF4E28, 16 bytes long.
Data: < name > 08 00 00 00 00 00 00 00 6E 61 6D 65 00 CD CD CD
{641} normal block at 0x00DF28E0, 16 bytes long.
Data: < sid > 08 00 00 00 00 00 00 00 73 69 64 00 CD CD CD CD
{645} normal block at 0x00DF4D90, 32 bytes long.
Data: < ( > 18 00 00 00 00 00 00 00 05 00 00 00 E8 28 DF 00
{615} normal block at 0x00DE97D8, 16 bytes long.
Data: < da > 08 00 00 00 00 00 00 00 64 61 00 CD CD CD CD CD
{609} normal block at 0x00DE8588, 20 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
{597} normal block at 0x00DEF7E0, 32 bytes long.
Data: < > 18 00 00 00 00 00 00 00 B0 E7 DE 00 00 00 00 00
{594} normal block at 0x00DE9908, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{591} normal block at 0x00DDA248, 16 bytes long.
Data: < name > 08 00 00 00 00 00 00 00 6E 61 6D 65 00 CD CD CD
{588} normal block at 0x00DF1C80, 16 bytes long.
Data: < integer > 08 00 00 00 00 00 00 00 69 6E 74 65 67 65 72 00
{585} normal block at 0x00DF3628, 200 bytes long.
Data: < > C0 00 00 00 00 00 00 00 B8 1A DF 00 00 00 00 00
{582} normal block at 0x00DF1AB0, 16 bytes long.
Data: < sid > 08 00 00 00 00 00 00 00 73 69 64 00 CD CD CD CD
{579} normal block at 0x00DE8900, 88 bytes long.
Data: <P > 50 00 00 00 00 00 00 00 00 00 00 00 18 F6 DE 00
{578} normal block at 0x00DEF610, 16 bytes long.
Data: < qiao > 08 00 00 00 00 00 00 00 71 69 61 6F 00 CD CD CD
{567} normal block at 0x00DF22C0, 1032 bytes long.
Data: < qia> 00 04 00 00 00 00 00 00 07 01 03 00 15 71 69 61
{565} normal block at 0x00DE8F00, 1168 bytes long.
Data: < | , > 88 04 00 00 00 00 00 00 7C 8F DE 00 2C 8F DE 00
{555} normal block at 0x00DF2D18, 16 bytes long.
Data: < aaada > 08 00 00 00 00 00 00 00 61 61 61 64 61 00 CD CD
{517} normal block at 0x00DDA420, 20 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
{514} normal block at 0x00DF1338, 32 bytes long.
Data: < no such > 18 00 00 00 00 00 00 00 6E 6F 20 73 75 63 68 20
{503} normal block at 0x00DF1158, 32 bytes long.
Data: < > 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
{500} normal block at 0x00DF0F88, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{497} normal block at 0x00DF0DB8, 16 bytes long.
Data: < sql > 08 00 00 00 00 00 00 00 73 71 6C 00 CD CD CD CD
{494} normal block at 0x00DF0BE8, 16 bytes long.
Data: < integer > 08 00 00 00 00 00 00 00 69 6E 74 65 67 65 72 00
{491} normal block at 0x00DF0A10, 24 bytes long.
Data: < rootpage> 10 00 00 00 00 00 00 00 72 6F 6F 74 70 61 67 65
{488} normal block at 0x00DF0840, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{485} normal block at 0x00DF0668, 24 bytes long.
Data: < tbl_name> 10 00 00 00 00 00 00 00 74 62 6C 5F 6E 61 6D 65
{482} normal block at 0x00DF0498, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{479} normal block at 0x00DEFEF8, 16 bytes long.
Data: < name > 08 00 00 00 00 00 00 00 6E 61 6D 65 00 CD CD CD
{476} normal block at 0x00DEFEA8, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{473} normal block at 0x00DEFCE0, 200 bytes long.
Data: < > C0 00 00 00 00 00 00 00 18 FB DE 00 00 00 00 00
{472} normal block at 0x00DEFB10, 16 bytes long.
Data: < type > 08 00 00 00 00 00 00 00 74 79 70 65 00 CD CD CD
{471} normal block at 0x00DEF8C0, 88 bytes long.
Data: <P h > 50 00 00 00 00 00 00 00 00 00 00 00 68 F8 DE 00
{470} normal block at 0x00DEF860, 32 bytes long.
Data: < sqlite_t> 18 00 00 00 00 00 00 00 73 71 6C 69 74 65 5F 74
{452} normal block at 0x00DEECF8, 1168 bytes long.
Data: < t $ > 88 04 00 00 00 00 00 00 74 ED DE 00 24 ED DE 00
{451} normal block at 0x00DE9B00, 1032 bytes long.
Data: < t > 00 04 00 00 00 00 00 00 00 00 00 00 74 F1 DE 00
{450} normal block at 0x00DEE988, 48 bytes long.
Data: <( t > 28 00 00 00 00 00 00 00 74 04 00 00 01 00 00 00
{439} normal block at 0x00DEE7A8, 32 bytes long.
Data: < > 18 00 00 00 00 00 00 00 00 00 00 00 E8 F7 DE 00
{436} normal block at 0x00DEE5D8, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{433} normal block at 0x00DEE408, 16 bytes long.
Data: < sql > 08 00 00 00 00 00 00 00 73 71 6C 00 CD CD CD CD
{430} normal block at 0x00DEE238, 16 bytes long.
Data: < integer > 08 00 00 00 00 00 00 00 69 6E 74 65 67 65 72 00
{426} normal block at 0x00DEE060, 24 bytes long.
Data: < rootpage> 10 00 00 00 00 00 00 00 72 6F 6F 74 70 61 67 65
{423} normal block at 0x00DEB250, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{420} normal block at 0x00DEB078, 24 bytes long.
Data: < tbl_name> 10 00 00 00 00 00 00 00 74 62 6C 5F 6E 61 6D 65
{417} normal block at 0x00DEAEA8, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{414} normal block at 0x00DEACD8, 16 bytes long.
Data: < name > 08 00 00 00 00 00 00 00 6E 61 6D 65 00 CD CD CD
{411} normal block at 0x00DEAB08, 16 bytes long.
Data: < text > 08 00 00 00 00 00 00 00 74 65 78 74 00 CD CD CD
{408} normal block at 0x00DEA880, 200 bytes long.
Data: < > C0 00 00 00 00 00 00 00 B8 A6 DE 00 00 00 00 00
{405} normal block at 0x00DEA6B0, 16 bytes long.
Data: < type > 08 00 00 00 00 00 00 00 74 79 70 65 00 CD CD CD
{402} normal block at 0x00DEA498, 88 bytes long.
Data: <P `| > 50 00 00 00 00 00 00 00 00 00 00 00 60 7C DD 00
{399} normal block at 0x00DD7C58, 24 bytes long.
Data: < sqlite_m> 10 00 00 00 00 00 00 00 73 71 6C 69 74 65 5F 6D
{368} normal block at 0x00DDB6B0, 52008 bytes long.
Data: < > 20 CB 00 00 00 00 00 00 00 00 00 00 CD CD CD CD
{365} normal block at 0x00DDB4C0, 48 bytes long.
Data: <( > 28 00 00 00 00 00 00 00 02 00 01 00 00 00 00 00
{362} normal block at 0x00DDB2C0, 64 bytes long.
Data: <8 > 38 00 00 00 00 00 00 00 03 00 01 00 00 00 00 00
{359} normal block at 0x00DDB0C0, 64 bytes long.
Data: <8 > 38 00 00 00 00 00 00 00 02 00 01 00 00 00 00 00
{356} normal block at 0x00DDA108, 64 bytes long.
Data: <8 > 38 00 00 00 00 00 00 00 02 00 01 00 00 00 00 00
{355} normal block at 0x00DDAEA0, 96 bytes long.
Data: <X > 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
{354} normal block at 0x00DDAE00, 96 bytes long.
Data: <X > 58 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
{353} normal block at 0x00DDA9B8, 1032 bytes long.
Data: < > 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00
{345} normal block at 0x00DDA5F0, 520 bytes long.
Data: < @r > 00 02 00 00 00 00 00 00 40 72 0E 10 00 00 01 00
{332} normal block at 0x00DD9E30, 88 bytes long.
Data: <P > 50 00 00 00 00 00 00 00 F8 A5 DD 00 D8 8A DD 00
{329} normal block at 0x00DD9C38, 56 bytes long.
Data: <0 8 > 30 00 00 00 00 00 00 00 D8 8A DD 00 38 9E DD 00
{326} normal block at 0x00DD9A58, 32 bytes long.
Data: < p > 18 00 00 00 00 00 00 00 70 96 DD 00 00 00 00 00
{323} normal block at 0x00DD9848, 80 bytes long.
Data: <H > 48 00 00 00 00 00 00 00 8C 98 DD 00 01 02 00 00
{320} normal block at 0x00DD9668, 32 bytes long.
Data: < ` > 18 00 00 00 00 00 00 00 90 90 DD 00 60 9A DD 00
{317} normal block at 0x00DD9458, 80 bytes long.
Data: <H > 48 00 00 00 00 00 00 00 9C 94 DD 00 01 00 00 00
{314} normal block at 0x00DD9268, 48 bytes long.
Data: <( > 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
{311} normal block at 0x00DD9088, 32 bytes long.
Data: < p > 18 00 00 00 00 00 00 00 00 00 00 00 70 96 DD 00
{308} normal block at 0x00DD8E78, 80 bytes long.
Data: <H > 48 00 00 00 00 00 00 00 BC 8E DD 00 01 01 00 00
{307} normal block at 0x00DD88E0, 48 bytes long.
Data: <( > 28 00 00 00 00 00 00 00 D0 C9 16 00 FF FF FF FF
{306} normal block at 0x00DD8AD0, 488 bytes long.
Data: < @r > E0 01 00 00 00 00 00 00 40 72 0E 10 02 00 00 00
...全文
624 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
na2650945 2010-12-30
  • 打赏
  • 举报
回复
你列出的信息是VS自己检测到的内存泄露吧。
VLD检测出来的会有调用堆栈的顺序。
最终可以跟踪到内存泄露的具体位置。
极少数时候不是很准。
MFC下就有一个内存泄露是调不掉的。
xilecsdn 2010-12-29
  • 打赏
  • 举报
回复
我也出现了LZ这样的问题,不知道咋解决。。。。求高人相告。。。
瞧见风 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 macrojj 的回复:]
运行库也可以用作内存检测的。很多代码的。
还有。boundchecker 没有vs2005的吗
[/Quote]

能给个例子吗?谢谢了!
瞧见风 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 twistmost 的回复:]
1.F10进入main函数
2.在_crtBreakAlloc加入watch
3.修改_crtBreakAlloc数值为306
4.Ctrl+Shift+F5,断点处就是泄漏
[/Quote]

请问_crtBreakAlloc是运行库中的函数吗?
在哪里加入_crtBreakAlloc呢?
macrojj 2010-01-12
  • 打赏
  • 举报
回复
运行库也可以用作内存检测的。很多代码的。
还有。boundchecker 没有vs2005的吗
twistmost 2010-01-12
  • 打赏
  • 举报
回复
1.F10进入main函数
2.在_crtBreakAlloc加入watch
3.修改_crtBreakAlloc数值为306
4.Ctrl+Shift+F5,断点处就是泄漏
瞧见风 2010-01-12
  • 打赏
  • 举报
回复
怎么没人回答呢?
瞧见风 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sandyandy 的回复:]
vc6 下有boundscheck查泄漏的
[/Quote]

我用的是VS2005,里面有什么查泄露的吗?我在网上找的说VLD挺好的!但是就是看不懂返回的信息!
kiwigiving 2010-01-07
  • 打赏
  • 举报
回复
哇唔,顶~
sandyandy 2010-01-07
  • 打赏
  • 举报
回复
vc6 下有boundscheck查泄漏的

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧