void CChartDlg::Leak()
{
CString str("ttt");
}在void CChartDlg::OnOK()里调用:void CChartDlg::OnOK()
{
Leak();
_CrtDumpMemoryLeaks();
}后显示:Detected memory leaks!
Dumping objects ->
{78} normal block at 0x00374F88, 48 bytes long.
Data: <2 F > 32 00 00 00 96 00 00 00 20 03 00 00 46 05 00 00
{77} normal block at 0x00374F10, 48 bytes long.
Data: < > 00 00 00 00 02 00 00 00 0A 00 00 00 14 00 00 00
strcore.cpp(118) : {70} normal block at 0x00374BC8, 25 bytes long.
Data: < Afx:> 01 00 00 00 0C 00 00 00 0C 00 00 00 41 66 78 3A
{50} client block at 0x003743C0, subtype 0, 64 bytes long.
a CDynLinkLibrary object at $003743C0, 64 bytes long
{45} client block at 0x00374240, subtype 0, 64 bytes long.
a CDynLinkLibrary object at $00374240, 64 bytes long
{43} client block at 0x003740F0, subtype 0, 64 bytes long.
a CDynLinkLibrary object at $003740F0, 64 bytes long
Object dump complete.
{
CString str("ttt");
}在void CChartDlg::OnOK()里调用:void CChartDlg::OnOK()
{
Leak();
_CrtDumpMemoryLeaks();
}后显示:Detected memory leaks!
Dumping objects ->
{78} normal block at 0x00374F88, 48 bytes long.
Data: <2 F > 32 00 00 00 96 00 00 00 20 03 00 00 46 05 00 00
{77} normal block at 0x00374F10, 48 bytes long.
Data: < > 00 00 00 00 02 00 00 00 0A 00 00 00 14 00 00 00
strcore.cpp(118) : {70} normal block at 0x00374BC8, 25 bytes long.
Data: < Afx:> 01 00 00 00 0C 00 00 00 0C 00 00 00 41 66 78 3A
{50} client block at 0x003743C0, subtype 0, 64 bytes long.
a CDynLinkLibrary object at $003743C0, 64 bytes long
{45} client block at 0x00374240, subtype 0, 64 bytes long.
a CDynLinkLibrary object at $00374240, 64 bytes long
{43} client block at 0x003740F0, subtype 0, 64 bytes long.
a CDynLinkLibrary object at $003740F0, 64 bytes long
Object dump complete.
我这有没有执行都只有后三条泄露
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); //如下的测试代码可看到改善后的效果
void CChartDlg::Leak()
{
CString str("ttt");
char *a = new char[1024];
}