Visual Leak Detector 如何检测不出内存泄漏
Visual Leak Detector 怎么检测不出内存泄漏
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 182 at 0x00614380: 8 bytes ----------
Call Stack:
f:\dd\vctools\vc7libs\ship\atlmfc\src\atl\atls\intel\atlthunk.cpp (379): ShGotoLine.exe!__InitializeThunkPool + 0x11 bytes
f:\dd\vctools\vc7libs\ship\atlmfc\src\atl\atls\intel\atlthunk.cpp (136): ShGotoLine.exe!__AllocStdCallThunk_cmn + 0x5 bytes
f:\dd\vctools\vc7libs\ship\atlmfc\src\atl\atls\intel\atlthunk.cpp (437): ShGotoLine.exe!ATL::__AllocStdCallThunk
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlstdthunk.h (60): ShGotoLine.exe!ATL::_stdcallthunk::operator new
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlstdthunk.h (281): ShGotoLine.exe!ATL::CDynamicStdCallThunk::Init + 0x7 bytes
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlwin.h (2296): ShGotoLine.exe!ATL::CWndProcThunk::Init
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlwin.h (3498): ShGotoLine.exe!ATL::CDialogImpl<CMainDlg,ATL::CWindow>::Create + 0xF bytes
e:\cw\project\companyproject\shplatform\shindustryplatform\shgotoline\shgotoline.cpp (135): ShGotoLine.exe!Run + 0xF bytes
e:\cw\project\companyproject\shplatform\shindustryplatform\shgotoline\shgotoline.cpp (170): ShGotoLine.exe!wWinMain + 0xD bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (263): ShGotoLine.exe!__tmainCRTStartup + 0x2C bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (182): ShGotoLine.exe!wWinMainCRTStartup
0x76AA3C45 (File and line number not available): kernel32.dll!BaseThreadInitThunk + 0x12 bytes
0x779E37F5 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xEF bytes
0x779E37C8 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xC2 bytes
Data:
F0 0F 7F 00 00 01 00 00 ........ ........
Visual Leak Detector detected 1 memory leak (11794 bytes).
Largest number used: 849790 bytes.
Total allocations: 873800 bytes.
Visual Leak Detector is now exiting.
程序“[5472] ShGotoLine.exe: 本机”已退出,返回值为 0 (0x0)。
也不说明是哪行,我到哪去找呀,求指教
------解决方案--------------------
如果 VLD 是以堆栈来检测内存泄露的话,最多也只能确认到函数一级,不可能具体到哪一行。
------解决方案--------------------
不知道是不是中文路径的问题, 听说是有这个问题, 只是我没有用VLD, 只是听用过的朋友这么说过.
------解决方案--------------------
我跟你讲VLD真心烂,我用了内存膨胀的太大。
目前市面上的大多数的内存泄露查找工具,我大部分都尝试过了,都不靠谱。
还得靠代码走读。
------解决方案--------------------
你用了atl模版库了,模版本来就不好定位错误
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 182 at 0x00614380: 8 bytes ----------
Call Stack:
f:\dd\vctools\vc7libs\ship\atlmfc\src\atl\atls\intel\atlthunk.cpp (379): ShGotoLine.exe!__InitializeThunkPool + 0x11 bytes
f:\dd\vctools\vc7libs\ship\atlmfc\src\atl\atls\intel\atlthunk.cpp (136): ShGotoLine.exe!__AllocStdCallThunk_cmn + 0x5 bytes
f:\dd\vctools\vc7libs\ship\atlmfc\src\atl\atls\intel\atlthunk.cpp (437): ShGotoLine.exe!ATL::__AllocStdCallThunk
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlstdthunk.h (60): ShGotoLine.exe!ATL::_stdcallthunk::operator new
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlstdthunk.h (281): ShGotoLine.exe!ATL::CDynamicStdCallThunk::Init + 0x7 bytes
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlwin.h (2296): ShGotoLine.exe!ATL::CWndProcThunk::Init
c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlwin.h (3498): ShGotoLine.exe!ATL::CDialogImpl<CMainDlg,ATL::CWindow>::Create + 0xF bytes
e:\cw\project\companyproject\shplatform\shindustryplatform\shgotoline\shgotoline.cpp (135): ShGotoLine.exe!Run + 0xF bytes
e:\cw\project\companyproject\shplatform\shindustryplatform\shgotoline\shgotoline.cpp (170): ShGotoLine.exe!wWinMain + 0xD bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (263): ShGotoLine.exe!__tmainCRTStartup + 0x2C bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (182): ShGotoLine.exe!wWinMainCRTStartup
0x76AA3C45 (File and line number not available): kernel32.dll!BaseThreadInitThunk + 0x12 bytes
0x779E37F5 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xEF bytes
0x779E37C8 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xC2 bytes
Data:
F0 0F 7F 00 00 01 00 00 ........ ........
Visual Leak Detector detected 1 memory leak (11794 bytes).
Largest number used: 849790 bytes.
Total allocations: 873800 bytes.
Visual Leak Detector is now exiting.
程序“[5472] ShGotoLine.exe: 本机”已退出,返回值为 0 (0x0)。
也不说明是哪行,我到哪去找呀,求指教
内存泄漏
ATL
C++
VS2008
内存
------解决方案--------------------
如果 VLD 是以堆栈来检测内存泄露的话,最多也只能确认到函数一级,不可能具体到哪一行。
------解决方案--------------------
不知道是不是中文路径的问题, 听说是有这个问题, 只是我没有用VLD, 只是听用过的朋友这么说过.
------解决方案--------------------
我跟你讲VLD真心烂,我用了内存膨胀的太大。
目前市面上的大多数的内存泄露查找工具,我大部分都尝试过了,都不靠谱。
还得靠代码走读。
------解决方案--------------------
你用了atl模版库了,模版本来就不好定位错误