使用MSVC 9 SP1,我正在尝试使用here描述的基本技术: 我把它放在main()的开头:
_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDOUT);
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
最后,即使我知道有漏洞,我也没有收到任何写入stdout的内容。如果我注释掉SetReportMode调用并附加调试器,我会按预期在Output窗口中报告泄漏。