The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

DUMA 2.5.15 - библиотека для поиска утечек памяти в C/C++ программах

13.04.2009 17:57

Вышла версия 2.5.15 библиотеки DUMA (Detect Unintended Memory Access), распространяемой в рамках лицензии GPL и предназначенной для обнаружения проблем с выделением памяти в C/C++ программах.

Библиотека обладает следующими возможностями:

  • "Перегружает" стандартные функции выделения/освобождения памяти, такие как malloc(), calloc(), memalign(), strdup(), new, new[], free(), delete, delete[];
  • Обнаруживает несоответствия функций выделения/освобождения памяти, например выделение памяти с помощью malloc() и освобождение с помощью delete;
  • Обнаруживает утечки памяти;
  • Обнаруживает попытки доступа к освобождённой памяти;
  • Останавливает выполнение программы на той команде, которая вызывает ошибку доступа к защищенной странице памяти. Это позволяет затем с помощью отладчика найти соответствующую этой операции строку в исходном коде программы;
  • Предварительная загрузка библиотеки на Linux системах позволяет провести тесты без изменения исходного кода программы и перекомпиляции.

В директории "comparisons" архива с исходными кодами приведено сравнение библиотеки с аналогами, а также примеры, с помощью которых можно осуществить тестирование инструментов для обнаружения проблем с выделением памяти.

  1. Главная ссылка к новости (http://freshmeat.net/projects/...)
  2. Changelog - Список изменений
  3. Скачать
  4. OpenNews: Использование valgrind для поиска ошибок в программах
  5. OpenNews: Поиск ошибок в программах при помощи Google Performance Tools
  6. OpenNews: Компания Google представила google-perftools 1.0
Автор новости: croster
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/21238-memory
Ключевые слова: memory, debug
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, jazzcat (?), 20:27, 13/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жалко на Висте не работает :( По крайней мере не заявлено, а значит 99% не работает.
     
     
  • 2.2, Alexey (??), 20:34, 13/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Если не заявлено, то возможно просто долго не обновляли стартовую страницу.
     
  • 2.5, croster (ok), 22:01, 13/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Для Висты нашел похожее (несвободное ПО):
    http://support.microsoft.com/kb/931370
     

  • 1.3, Принужднный виндузятник (?), 20:57, 13/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А кстати, кто чем отлавливает утечки памяти под Windows?
    Под Linux я использовал Valgrind, а под Windows что-то не могу найти свободного инструмента
     
     
  • 2.4, croster (ok), 21:49, 13/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    DUMA совместима с Windows NT/2K/XP. По крайней мере каталоги для компиляции с помощью VS 2005 в архиве с исходными кодом присутствует.
     
  • 2.6, croster (ok), 22:19, 13/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Вот еще есть:
    http://wyw.dcweb.cn/leakage.htm
    http://sourceforge.net/project/showfiles.php?group_id=104822&package_id=11277
     
  • 2.12, anonymous (??), 20:20, 16/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > А кстати, кто чем отлавливает утечки памяти под Windows?

    valgrind'ом. и wine.

     

  • 1.8, поцанчик (?), 00:14, 14/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а кто будет бороться с проблемами выделения памяти в DUMA? а?
     
  • 1.9, Имя (?), 02:27, 14/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А если new, delete уже перегружены - как оно будет работать? Oo
     
     
  • 2.10, sluge (??), 13:39, 14/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    нормально будет
    даже перегруженые обращаются к new и делете. с пулами та де песня
     
  • 2.11, anonymous (??), 13:41, 14/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > А если new, delete уже перегружены - как оно будет работать? Oo

    Ошибка в вопросе. Перегрузка в контексте 'C++' не имеет никакого отношения к перегрузке в контексте редактора связей.

    Hint: посмотрите, что такое name mangling и что такое LD_PRELOAD или dlsym.

     

  • 1.14, Билл Гейтс (?), 17:22, 18/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А мне больше нравится Deleaker ( http://deleaker.ru/ ). Уже год юзаю.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру