Страхование ++ - Insure++

Страхование ++
Parasoft Logo 2017.png
Разработчики)Parasoft
изначальный выпуск1993; 27 лет назад (1993)
Стабильный выпуск
7.5.2 / 30 октября 2018 г. (2018-10-30)
Операционная системаКроссплатформенность, Linux, Солярис, Windows
Доступно ванглийский
ТипПрофайлер / Отладчик памяти
ЛицензияПроприетарный коммерческое программное обеспечение
Интернет сайтwww.parasoft.com/товары/ застраховать

Страхование ++ это отладчик памяти компьютерная программа, использован программного обеспечения разработчикам для обнаружения различных ошибок в программах, написанных на C и C ++. Это сделано Parasoft, и функционально аналогичен другим отладчикам памяти, таким как Очистить, Валгринд и Доктор памяти.[1]

Обзор

Insure ++ может автоматически обнаруживать ошибочные обращения к освобожденной памяти (ситуации использования после освобождения), нарушения границ массива, освобождение нераспределенной памяти (что часто случается, когда программист дважды освобождает одну и ту же память или когда он освобождает глобальную или стековую память) и многие другие.[2]

В отличие от Purify и Valgrind, Insure ++ вставляет приборы на уровне исходного кода,[3][4][требуется разъяснение ] что позволяет обнаруживать ошибки, которые пропускают другие инструменты.[5] В частности, Insure ++ может обнаруживать переполнение буфера в автоматических массивах и при переполнении, которое включает указатели, которые случайно «перескакивают» из одной допустимой области памяти в другую, как в следующем примере:

#включают <stdlib.h>int главный() {    char *п = маллок(1024); / * первый динамически выделяемый блок * /    char *q = маллок(1024); / * второй блок * /    п += 1200; / * В этот момент "p", скорее всего, указывает на второй блок.                   Однако ложные предположения о реальном поведении приводят к ошибкам. * /    *п = 'а';  / * недопустимая запись (после конца первого блока) * / }

Инструменты на уровне источника позволяют определить не только то, что произошла утечка, но и место ее возникновения.[1] Некоторые инструменты просто предоставляют информацию о том, где была выделена память, Insure ++ также дает трассировку стека для того, когда и где произошла фактическая утечка.

Кроме того, Insure ++ будет производить Последовательность и скачок линейного кода Покрытие кода метрики для всего протестированного кода.

Смотрите также

Рекомендации

  1. ^ а б «Обзор систем для обнаружения серийных ошибок времени выполнения» (PDF). Группа высокопроизводительных вычислений Университета штата Айова. Получено 20 сентября 2010.
  2. ^ Мецгер, Роберт. Отладка мышлением: мультидисциплинарный подход. п. 490. ISBN  1555583075.
  3. ^ «Parasoft Insure ++ на сайте Parasoft». Получено 29 января, 2014.
  4. ^ Редди, Мартин. Дизайн API для C ++. п. 239.
  5. ^ Льер, Матиас. Инструменты для высокопроизводительных вычислений. п. 147. ISBN  3642112900.

внешняя ссылка