请问高手2010中有没有什么定位内存泄露的工具或方法?Bounds Checker有没有在2010下可用的版本?
谢谢!!
Detected memory leaks!
Dumping objects ->
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {45857} normal block at 0x023086A0, 44 bytes long.
Data: < R > 84 CF CE 52 0D 00 00 00 0D 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\plex.cpp(29) : {45856} normal block at 0x023085C0, 164 bytes long.
Data: < ^ 0 > 00 00 00 00 00 00 00 00 EE 19 5E B4 B0 86 30 02
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\map_sp.cpp(83) : {45855} normal block at 0x02308540, 68 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\afxtooltipctrl.cpp(39) : {45853} client block at 0x02308350, subtype c0, 252 bytes long.
a CMFCToolTipCtrl object at $02308350, 252 bytes long
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {45835} normal block at 0x02302C60, 40 bytes long.
Data: < R > 84 CF CE 52 0B 00 00 00 0B 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\plex.cpp(29) : {45834} normal block at 0x02307AE0, 164 bytes long.
Data: < ox p,0 > 00 00 00 00 00 00 00 00 6F 78 EA CD 70 2C 30 02
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\map_sp.cpp(83) : {45833} normal block at 0x02307880, 68 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\afxtooltipctrl.cpp(39) : {45832} client block at 0x023079A8, subtype c0, 252 bytes long.
a CMFCToolTipCtrl object at $023079A8, 252 bytes long
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {45813} normal block at 0x02307088, 38 bytes long.
Data: < R > 84 CF CE 52 0A 00 00 00 0A 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\plex.cpp(29) : {45812} normal block at 0x02306FA8, 164 bytes long.
Data: < T & p0 > 00 00 00 00 00 00 00 00 54 98 F9 26 98 70 30 02
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\map_sp.cpp(83) : {45811} normal block at 0x02306F28, 68 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\afxtooltipctrl.cpp(39) : {45810} client block at 0x02303840, subtype c0, 252 bytes long.
a CMFCToolTipCtrl object at $02303840, 252 bytes long
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {45790} normal block at 0x02303498, 38 bytes long.
Data: < R > 84 CF CE 52 0A 00 00 00 0A 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\plex.cpp(29) : {45789} normal block at 0x023033B8, 164 bytes long.
Data: < ?X 40 > 00 00 00 00 00 00 00 00 D6 3F 58 C0 A8 34 30 02
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\map_sp.cpp(83) : {45788} normal block at 0x02302E00, 68 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\afxtooltipctrl.cpp(39) : {45787} client block at 0x02302CC8, subtype c0, 252 bytes long.
a CMFCToolTipCtrl object at $02302CC8, 252 bytes long
Object dump complete.
9 个解决方案
#1
没用过2010,不过第一种方法比较通用。
#2
微软这么多年在这方面不会没有考虑到吧?
大家有没有其它建议?
大家有没有其它建议?
#3
LeakDiag, UMDH这些微软的工具都可以诊断内存泄漏
如果是CE 上,要用Application verifier
如果是CE 上,要用Application verifier
#4
vld 库试试,google 搜下vld
#5
该库是嵌入到工程中的,用于检测内存泄露
#6
不懂 学习下
#7
我觉得,最好的方式是要培养好的习惯,有new的地方同时写下delete。
对于大部分的内存泄露一般是new以后没delete引起的,可以用vs2005中的搜索功能,搜索所有的new然后查看哪个new后面没有delete。
对于大部分的内存泄露一般是new以后没delete引起的,可以用vs2005中的搜索功能,搜索所有的new然后查看哪个new后面没有delete。
#8
帮顶。
#9
我也想问下,感觉即使new 和 delete也会有内存泄露的地方
只不过比较少,想问下是为什么呀
只不过比较少,想问下是为什么呀
#1
没用过2010,不过第一种方法比较通用。
#2
微软这么多年在这方面不会没有考虑到吧?
大家有没有其它建议?
大家有没有其它建议?
#3
LeakDiag, UMDH这些微软的工具都可以诊断内存泄漏
如果是CE 上,要用Application verifier
如果是CE 上,要用Application verifier
#4
vld 库试试,google 搜下vld
#5
该库是嵌入到工程中的,用于检测内存泄露
#6
不懂 学习下
#7
我觉得,最好的方式是要培养好的习惯,有new的地方同时写下delete。
对于大部分的内存泄露一般是new以后没delete引起的,可以用vs2005中的搜索功能,搜索所有的new然后查看哪个new后面没有delete。
对于大部分的内存泄露一般是new以后没delete引起的,可以用vs2005中的搜索功能,搜索所有的new然后查看哪个new后面没有delete。
#8
帮顶。
#9
我也想问下,感觉即使new 和 delete也会有内存泄露的地方
只不过比较少,想问下是为什么呀
只不过比较少,想问下是为什么呀