Сведения о вопросе

ЧОВИД

16:03, 1st July, 2020

Теги

memory-leaks   purify    

Rational Purify не удается перейти к утечкам памяти

Просмотров: 460   Ответов: 5

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

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

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



  Сведения об ответе

LIZA

18:03, 1st July, 2020

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

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

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

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


  Сведения об ответе

9090

18:03, 1st July, 2020

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

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


  Сведения об ответе

#hash

18:03, 1st July, 2020

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

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


  Сведения об ответе

appple

18:03, 1st July, 2020

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

Правильно ли инструментирован весь код?

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


  Сведения об ответе

+-*/

18:03, 1st July, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться