Вы находитесь на страницах старой версии сайта.
Переходите на новую версию Interface.Ru

FAQ пo Rational Purify



Вопрос: Для чего предназначена программа Rational Purify?

Ответ: Данный программный продукт рассчитан на поиск утечек памяти и run-time-ошибок.


Вопрос: Вы можете обосновать необходимость применения именно Purify, а не других конкурирующих средств?

Ответ: Да, такое обоснование возможно. Purify по достоинству оценят пользователи NT и UNIX, поскольку программа по максимуму использует возможности данных систем. Изюминкой программы является патентованная технология "Object Code Insertion", которая позволяет вписывать специальную информацию в исполняемый модуль и во все вызываемые библиотеки. Подобная технология позволяет отлавливать даже незначительные утечки в памяти. Еще важным преимуществом считается открытое для пользовательских программ API, то есть программу можно дополнять по своему усмотрению.


Вопрос: Правильно ли я понял, что Purify может работать на уровне исполнительных модулей и библиотек?

Ответ: Да, вы правильно поняли. Для работы данной программы вам достаточно иметь исполняемые модули ваших программ. Естественно, что при этом нужно соблюдать некоторые особенности транслирования кода: во-первых, имея только исполняемый модуль, вы не сможете перейти к листингу программы (даже если он находится в одном каталоге с исполняемым модулем и прописан в настройках Purify); во-вторых, вы не сможете видеть внутренних вызовов модулей (для этого необходимо, чтобы транслируемая программа содержала debug информацию)


Вопрос: Вы говорите, что программа Purify сканирует, вставляя в файлы какие-то коды. Но ведь это неразумно долго!

Ответ: Отнюдь! Сканирование исходного модуля и библиотек производится один раз, далее информация с OIC хранится в специальном кеше, как раз предназначенном для хранения обработанных внешних модулей. Соответственно, все DLL впоследствии при тестировании подгружаются из кеша


Вопрос: Для каких средств разработки поддерживается интеграция с Purify?

Ответ: Visual C++, Visual Studio. Системы: Windows NT 4.0, Windows 2000


Вопрос: Поддерживается ли Windows 98/95?

Ответ: На данном этапе нет


Вопрос: Поддерживаются ли технологии Inprise?

Ответ: Трудно дать однозначный ответ. Если модуль не содержит отладочной информации, то его можно сканировать при помощи Purify (но при этом не будут видны правильные наименования внутренних вызовов). Если же в исполняемом модуле есть отладочная информация, отличная от Microsoft, то такую программу нельзя будет использовать под Purify


Вопрос: Есть ли у Purify какие-либо фильтры?

Ответ: Да программа обладает мощным инструментом фильтрования, позволяя настраивать "интеллект" просмотра. Это значит, что вы можете отключить или подключить к проверке и анализу любые DLL.


Вопрос: А что можно сделать с полученной в результате тестирования информацией?

Ответ: Ее можно сохранить целиком в файле (как в специальном, так и в обычном текстовом). При желании, можно перенести через буфер обмена результаты в EXCEL.


Вопрос: Какие (и в чем) еще ошибки отлавливает программа Purify?

Ответ: Active X (OLE/OCX), COM/DCOM компоненты, ODBC компоненты, DLL- библиотеки и plug-ins для Microsoft Office, C и C++ исходный текст. Также выводится детальная информация об ошибках в следующих категориях: Heap, Stack, COM, Memory, Handle


Вопрос: Какие сервис-паки поддерживаются?

Ответ: SP3 и выше


Вопрос: Способны ли программы тестирования от Rational проводить более сложное тестирование приложений? Например, мы разрабатываем сервисы под Windows NT и нам хотелось бы знать может ли Purify, Quantify, PureCoverage помочь в тестировании запущенного и зарегистрированного сервиса?

Ответ: Да. Данные продукты могут тестировать и сервисы в том числе. Правда, для этого необходимо выполнить ряд нетривиальных действий с использованием функций редактирования реестра. Также придется ознакомиться с командным интерфейсом программ Purify, Quantify, PureCoverage. Итак, вот последовательность действий для тестирования сервиса:

  1. Настроить системные пути таким образом, чтобы из них были видны все директории Purify (особенно кэш). Необходимо для прозрачного вызова средств тестирования из любого каталога.
  2. Для создания кэша конкретного приложения нужно запустить Purify (Quantify, PureCoverage) из командной строки следующим образом: purify /Run=no /Out=service_pure.exe service.exe. В данном случае идет речь о кэше самого сервиса. При инструментальном проходе приложения, когда Purify вставляет специальный код, то автоматически создается копия разрабатываемого файла с вставленными кодами. Такой файл носит название кэш. При разработке файла вышеприведенной командой можно сделать данный кэш не запуская программу!
  3. В реестре \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services необходимо поставить ссылку на кэшированный файл (вместо простого).
  4. Во вкладке сервисов активировать пункт Allow Service to Interact with Desktop, выбрать режим запуска "manual".


За дополнительной информацией обращайтесь в компанию Interface Ltd.

Обсудить на форуме Rational

Рекомендовать страницу

INTERFACE Ltd.
Телефон/Факс: +7 (495) 925-0049
Отправить E-Mail
http://www.interface.ru
Rambler's Top100
По техническим вопросам обращайтесь к вебмастеру