Jump to content

ОчиститьПлюс

(Перенаправлено с IBM Rational Purify )
UNICOM PurifyPlus
Оригинальный автор(ы) Чистое программное обеспечение
Разработчик(и) UNICOM Systems, подразделение UNICOM Global
Стабильная версия
8.1 / 1 августа 2021 г.
Операционная система Винда, Линукс, Солярис
Тип Отладчик памяти
Лицензия Собственное программное обеспечение
Веб-сайт www .teamblue .unicomsi /продукты /purifyplus /

PurifyPlus — это программа отладчика памяти, используемая разработчиками программного обеспечения для обнаружения ошибок доступа к памяти в программах, особенно написанных на C или C++ . Первоначально он был написан Ридом Гастингсом из Pure Software . [1] Позже Pure Software объединилась с Atria Software и образовала Pure Atria Software, которая, в свою очередь, позже была приобретена компанией Rational Software , которая, в свою очередь, была приобретена IBM , а затем продана UNICOM Systems , Inc. 31 декабря 2014 года. Функционально она аналогична для других отладчиков памяти, таких как Insure++ , Valgrind и BoundsChecker .

PurifyPlus обеспечивает динамическую проверку — процесс, с помощью которого программа обнаруживает ошибки, возникающие во время ее работы, подобно отладчику . Статическая проверка или статический анализ кода , напротив, предполагает обнаружение ошибок в исходном коде без его компиляции или запуска, просто путем обнаружения логических несоответствий. Проверка типов компилятором C является примером статической проверки.

Когда программа связана с PurifyPlus, исправленный код проверки автоматически вставляется в исполняемый файл путем анализа и добавления в объектный код , включая библиотеки. Таким образом, если произойдет ошибка памяти, программа распечатает точное место ошибки, адрес памяти и другую соответствующую информацию. PurifyPlus также обнаруживает утечки памяти . По умолчанию отчет об утечке создается при выходе из программы, но его также можно создать путем вызова API обнаружения утечек PurifyPlus из инструментированного приложения.

Ошибки, которые обнаруживает PurifyPlus, включают чтение и запись границ массива, попытки доступа к нераспределенной памяти, освобождение нераспределенной памяти (обычно из-за освобождения одной и той же памяти во второй раз), а также утечки памяти (выделенная память без ссылки на указатель). Большинство этих ошибок не являются фатальными (по крайней мере, не в месте возникновения ошибки), и зачастую при простом запуске программы их невозможно обнаружить, кроме как наблюдая, что что-то не так из-за некорректного поведения программы. Следовательно, PurifyPlus помогает обнаруживать эти ошибки и сообщать программисту, где именно они происходят. Поскольку PurifyPlus работает путем инструментирования всего объектного кода , он обнаруживает ошибки, возникающие внутри сторонних библиотек или библиотек операционной системы . Эти ошибки часто вызваны тем, что программист передает неверные аргументы вызовам библиотеки или недопониманием протоколов освобождения структур данных , используемых библиотеками. Зачастую это самые трудные для поиска и исправления ошибки.

Отличия от традиционных отладчиков

[ редактировать ]

Возможность обнаружения нефатальных ошибок — главное отличие PurifyPlus от аналогичных программ от обычных отладчиков . Напротив, отладчики обычно позволяют программисту только быстро найти источники фатальных ошибок, таких как сбой программы из-за разыменования нулевого указателя , но не помогают обнаружить нефатальные ошибки памяти. Отладчики полезны и для других задач, для которых PurifyPlus не предназначен, например, для пошагового выполнения кода построчно или проверки памяти программы вручную в определенный момент выполнения. Другими словами, эти инструменты могут дополнять друг друга для опытного разработчика.

PurifyPlus также включает в себя другие функции, такие как высокопроизводительные точки наблюдения , которые обычно используются при использовании отладчика для кода.

Стоит отметить, что использование PurifyPlus имеет наибольший смысл в языках программирования, которые оставляют управление памятью программисту. , в Java , Lisp или Visual Basic Следовательно, например автоматическое управление памятью снижает возникновение любых утечек памяти . Однако в этих языках все еще могут быть утечки; ненужные ссылки на объекты предотвратят перераспределение памяти. У IBM есть продукт под названием Rational Application Developer, позволяющий обнаруживать подобные ошибки.

Поддерживаемые платформы

[ редактировать ]

Поддерживаемые платформы C/C++

[ редактировать ]
Операционная система Архитектуры процессоров Версии операционной системы Составители
Солярис
Солнце УльтраСПАРК Solaris 11 до 11.4 База
Solaris 10 до U11 База
Sun C/C++ 5.8–5.15
GNU gcc/g++ 4 и 5
AMD64
Интел 64
Solaris 11 до 11.4 База
Солярис 10 от U6 до U11
Sun C/C++ 5.8–5.15
GNU gcc/g++ с 4 по 8
Линукс
Интел ИА-32 Базовая версия RHEL 8 (Сервер/Настольный компьютер) до версии 8.3
Базовая версия RHEL 7 (Сервер/Настольный компьютер) до версии 7.9
Базовая версия RHEL 6 (Сервер/Настольный компьютер) до версии 6.10
База SLES 12 до SP4
Базовая версия SLES 11 до SP3
GNU gcc/g++ с 4 по 8
Intel icc 11.0–11.1
AMD64
Интел 64
Базовая версия RHEL 8 (Сервер/Настольный компьютер) до версии 8.3
Базовая версия RHEL 7 (Сервер/Настольный компьютер) до версии 7.9
Базовая версия RHEL 6 (Сервер/Настольный компьютер) до версии 6.10
База SLES 12 до SP4
Базовая версия SLES 11 до SP3
GNU gcc/g++ с 4 по 8
Intel icc 11.0–11.1
Окна
Интел ИА-32
Интел 64
64 драма РА
Базовая версия Microsoft Windows 10 до 21H1
Microsoft Windows от базовой версии 8 до 8.1
Microsoft Windows Server 2019 Standard, Центр обработки данных
Microsoft Windows Server 2016 Standard, Центр обработки данных
Microsoft Windows Server 2012 Foundation, Essential, Standard, Data Center
Microsoft Windows Server 2008 Enterprise, Standard, Data Center, от базовой версии до SP2
Microsoft Windows Server 2008 R2 Foundation, Enterprise, Standard, Data Center, от базовой версии до SP1
Visual Studio 2010–2019 гг.

Поддерживаемые платформы Java/.NET

[ редактировать ]
Платформа Тип сбора данных Среда выполнения
Окна
Сбор данных C/C++ (неуправляемый код) Microsoft Visual Studio 2010–2019 гг.
Java Сбор данных о покрытии кода IBM JRE с 5 по 8
SUN JRE 1,5–1,8
Сбор данных .NET (управляемый код) .NET Framework 3.0–4.5, используемый с Microsoft Visual Studio 2010–2019.

См. также

[ редактировать ]
  1. ^ Очистка: быстрое обнаружение утечек памяти и ошибок доступа. Рид Гастингс и Боб Джойс, техническая конференция Usenix, зима 1992 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f3b76e968c1c618ad8f2a91c4b063be2__1675460340
URL1:https://arc.ask3.ru/arc/aa/f3/e2/f3b76e968c1c618ad8f2a91c4b063be2.html
Заголовок, (Title) документа по адресу, URL1:
PurifyPlus - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)