Как вы обнаруживаете/предотвращаете утечки памяти в своем (неуправляемом) коде?
Если вы используете Visual memory-leak Studio, Microsoft предоставляет memory-leak несколько полезных функций c для обнаружения и устранения c утечек памяти.
Я бы начал memory-leaks с этой статьи: https://msdn.microsoft.com/en-us/library/x98tx3cf(v=vs.140).aspx
Вот краткий c++ обзор этих статей. Во-первых, включите memory-leaks эти заголовки:
#define _CRTDBG_MAP_ALLOC
#include
#include
Затем вам нужно memory-leaks вызвать это, когда ваша программа c выйдет:
_CrtDumpMemoryLeaks();
В качестве альтернативы, если cpp ваша программа не завершается c каждый раз в одном и том memory-leaks же месте, вы можете вызвать memory-leaks это в начале вашей программы:
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
Теперь, когда memory-leaks программа выходит из программы, все cpp выделения, которые не были cpp освобождены, будут напечатаны cxx в окне вывода вместе с файлом, в memory-leaks котором они были размещены, и cxx возникновением выделения.
Эта cpp стратегия работает для большинства cxx программ. Однако в некоторых c случаях это становится затруднительным c или невозможным. Использование memory-leaks сторонних библиотек, которые c выполняют некоторую инициализацию memory-leaks при запуске, может привести c к появлению других объектов c++ в дампе памяти и затруднить memory-leaks отслеживание утечек. Кроме memory-leaks того, если какой-либо из memory-leaks ваших классов имеет члены cxx с тем же именем, что и любая c++ из подпрограмм выделения memory-leaks памяти (например, malloc), макросы c отладки CRT вызовут проблемы.
Существуют cxx и другие методы, описанные c++ в упомянутой выше ссылке cpp MSDN, которые также можно c использовать.
c++
c
memory-leaks
Как вы обнаруживаете/предотвращаете утечки памяти в своем (неуправляемом) коде?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.