2008-08-08 4 views
-1

Итак, моя компания использует восхитительно баггированную программу под названием Rational Purify (как плагин для Microsoft Visual Developer Studio) для управления утечками памяти. Программа соизволила позволить вам щелкнуть по утечке памяти после того, как вы ее встретили, а затем перейти к строке, в которой происходит утечка.Rational Purify не может перейти на утечку памяти

К сожалению, Purify работает неправильно, и Purify не будет прыгать в место, где произошла утечка, он упоминает только класс и метод, в которых происходит утечка. К сожалению, иногда это примерно так же полезно, как нанять руководство, чтобы помочь вам охотиться на медведей и указывая ему на лес и рассказывая, что там есть медведи.

У кого-нибудь с опытом Purify есть представление, как я могу исправить эту проблему или иметь хорошее руководство для просмотра?

ответ

2

Как правило, у вас есть два варианта: один модуль исключает модули DLL из инструментария в Purify, он помогает несколько раз. Во-вторых, получить BoundsChecker, это делает компиляцию времени гораздо медленнее, но уровень детализации на порядок лучше.

Обычно мы используем Purify при регистрации, проверке работоспособности и BoundsChecker, когда мы знаем, что существует ошибка/сбой.

BoundsChecker имеет некоторые приятные функции, такие как только файлы инструментов A.cpp & B.cpp, за исключением всего остального.

Знайте, что ни одно из этих двух приложений не работает в 64-разрядных операционных системах, а BoundsChecker не будет устанавливать на 64-разрядную ОС. Самое разочаровывающее, если вы перейдете на встроенную 64-битную разработку с 32-разрядным задним портом!

1

У вас есть отладочная сборка? Вернее, у вас есть все PDB? Попробуйте WindDbg на свой исполняемый файл и проверьте с помощью команды lmi, что видно.

В целом ли код целиком установлен?

Также рассмотрите возможность использования чего-то еще, например free Visual Leak Detector или инструментария Microsoft LeakDiag.

1

Я использовал Purify около 5 лет назад. Тогда это было действительно плохо. Они пообещали исправить все ошибки в следующем выпуске. Мы в конце концов отказались от этого. Можно только задаться вопросом, использовали ли они свои собственные инструменты QA для своих продуктов. О, ирония ...

2

Очистить - это как швейцарский нож. Если вы знаете, как его использовать, вы получите некоторые результаты, а не лучшие результаты. Если вы этого не сделаете, это сработает, потому что это просто еще одна программа, работающая в Windows.

В конце концов вам понадобится много терпения, перестроек и удачи.

2

Purify поставляется со сценарием ScanVSSolutionForPurifyPlus.pl, который гарантирует, что ваши файлы проектов имеют правильные настройки для Purify для правильной работы. Если вы не запустили его, отпустите его.

(Я лично использовал ScanVSSolutionForPurifyPlus.pl на большом решении, и он работал как шарм. Одно предостережение: когда вы даете ему имя вашего файла .sln, вам может потребоваться указать его полный путь.)