Вышла (http://sourceforge.net/project/shownotes.php?group_id=149725...) версия 2.5.15 библиотеки DUMA (http://duma.sourceforge.net/) (Detect Unintended Memory Access), распространяемой в рамках лицензии GPL и предназначенной для обнаружения проблем с выделением памяти в C/C++ программах.
Библиотека обладает следующими возможностями:
- "Перегружает" стандартные функции выделения/освобождения памяти, такие как malloc(), calloc(), memalign(), strdup(), new, new[], free(), delete, delete[];
- Обнаруживает несоответствия функций выделения/освобождения памяти, например выделение памяти с помощью malloc() и освобождение с помощью delete;
- Обнаруживает утечки памяти;
- Обнаруживает попытки доступа к освобождённой памяти;
- Останавливает выполнение программы на той команде, которая вызывает ошибку доступа к защищенной странице памяти. Это позволяет затем с помощью отладчика найти соответствующую этой операции строку в исходном коде программы;
- Предварительная...URL: http://freshmeat.net/projects/duma
Новость: http://www.opennet.me/opennews/art.shtml?num=21238
Жалко на Висте не работает :( По крайней мере не заявлено, а значит 99% не работает.
Если не заявлено, то возможно просто долго не обновляли стартовую страницу.
Для Висты нашел похожее (несвободное ПО):
http://support.microsoft.com/kb/931370
А кстати, кто чем отлавливает утечки памяти под Windows?
Под Linux я использовал Valgrind, а под Windows что-то не могу найти свободного инструмента
DUMA совместима с Windows NT/2K/XP. По крайней мере каталоги для компиляции с помощью VS 2005 в архиве с исходными кодом присутствует.
Вот еще есть:
http://wyw.dcweb.cn/leakage.htm
http://sourceforge.net/project/showfiles.php?group_id=104822...
> А кстати, кто чем отлавливает утечки памяти под Windows?valgrind'ом. и wine.
а кто будет бороться с проблемами выделения памяти в DUMA? а?
А если new, delete уже перегружены - как оно будет работать? Oo
нормально будет
даже перегруженые обращаются к new и делете. с пулами та де песня
> А если new, delete уже перегружены - как оно будет работать? OoОшибка в вопросе. Перегрузка в контексте 'C++' не имеет никакого отношения к перегрузке в контексте редактора связей.
Hint: посмотрите, что такое name mangling и что такое LD_PRELOAD или dlsym.
А мне больше нравится Deleaker ( http://deleaker.ru/ ). Уже год юзаю.