Re[3]: Отслеживание выделения памяти во время работы приложе
От: OdesitVadim Украина  
Дата: 20.05.09 07:57
Оценка:
Здравствуйте, barberis, Вы писали:


B>Вы правильно сказали. C++ Windows, Linux. О Valgrind: пересмотрел всю документацию. Не нашел. Можете подсказать конкетную опцию которую я должен использовать ?

Вот к примеру я обычно запускаю так
valgrind --leak-check=full --show-reachable=yes --log-file=log.txt -v --track-fds=yes ./имяподопытной параметры_подопытной
первый параметр — отслеживать утечки.
второй — делать их анализ, для начала можно убрать.
третий — сохранять в файл. По умолчанию выводит на консоль, может быть неудобно.
четвертый — делать более ошбирный вывод. Часто бывает лишняя информация.
пятый параметр — отслеживать открытые/закрытые дескрипторы
В такой конструкции, если где то происходит "нарушение", выводиться стек вызовов, некоторые параметры, адреса строк в исходном файле (если он конечно скомпилирован с поддержкой отладки, опция -g). Если проект большой — может быть много информации. Иногда бывает ложная информация — особенно внутри библиотеки stl. Поэтому лучше искать то, что сразу понятно и устранять, потом снова прогнать. Некоторые ошибки связанные, так что...
Мне valgrind помог найти один delete, где следовало бы написать delete[]. Я несколько часов разбрирал код, пока понял, что он прав. Теперь я там упростил
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.