Я пытаюсь использовать _CrtDumpMemoryLeaks () для отображения утечек памяти в моих программах.
Но это ничего не отображает за исключением возврата 0 в случае никаких утечек памяти и 1 в случае, если существует утечка.
Ссылка здесь показывает, что вывод должен быть похожим:
Detected memory leaks!
Dumping objects ->
D:\VisualC++\CodeGuru\MemoryLeak\MemoryLeak.cpp(67) : {60}
normal block at 0x00324818, 4 bytes long.
Data: <, > 2C 00 00 00
Object dump complete.
Может любой предлагать корректный способ использовать эту функцию.
Загрузите образец из следующего Link . Вы должны установить следующие параметры для прямого вывода на консоль.
// Send all reports to STDOUT
_CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE );
_CrtSetReportFile( _CRT_WARN, _CRTDBG_FILE_STDOUT );
_CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_FILE );
_CrtSetReportFile( _CRT_ERROR, _CRTDBG_FILE_STDOUT );
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDOUT );
После поиска причин, по которым это не работает в моем коде, я обнаружил следующие моменты: