Обнаружение ошибок во время выполнения и утечек памяти - PullRequest
2 голосов
/ 10 января 2012

Созданное приложение работает слишком медленно, похоже, что есть много утечек памяти, есть много указателей.Так, пожалуйста, посоветуйте какой-нибудь эффективный инструмент для обнаружения ошибок во время выполнения и утечек памяти в Visual Studio C ++?

Ответы [ 3 ]

1 голос
/ 10 января 2012

Вы можете использовать deleteaker.Это должно вам помочь.

0 голосов
/ 10 января 2012

Я знаю 2 хороших инструмента для Windows: Очистить и Страховать ++ .

Для Linux: Valgrind .

0 голосов
/ 10 января 2012

Если вы используете отладочную версию библиотеки CRT , вы можете очень легко найти все утечки памяти .

В основном после включения соответствующих заголовков, которые вы называете

_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

где-то в начале вашей программы.

Перед выходом из программы вы должны позвонить

_CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_DEBUG );

Что сбрасывает все утечки памяти в окно вывода отладки.

Но медленное приложение может быть не связано с утечками памяти. Для профилирования производительности вы можете следовать указаниям согласно Найти узкие места приложения с помощью Visual Studio Profiler

Для перехвата некорректных конструкций C ++ во время компиляции вы можете использовать функцию статического анализа кода в Visual Studio 2010 или более поздней версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...