Покрытие кода не поддерживает:
Процесс сборки модели, например, Ctrl+B
команда.
Блоки SIL или PIL.
Настройки покрытия кода игнорируются Ctrl+B
команды и SIL или PIL.
Когда вы создаете свою модель, вам, возможно, придется ждать лицензии BullseyeCoverage. Если вы хотите увидеть информацию о ожидании, прежде чем вы создадите модель, в диалоговом окне Параметры конфигурации (Configuration Parameters) выберите Verbose build.
Если ваш MATLAB® текущая рабочая папка является путем UNC (UNiversal Naming Convention), покрытие кода прекращает работать.
matlabroot
и путь к файлуЕсли matlabroot
или путь к сгенерированным файлам содержит пространство или .
(период) символ, покрытие кода может оказаться неудачным.
Рассмотрим модель, которая сконфигурирована для LDRA Testbed® покрытие кода. В процессе сборки, если программное обеспечение обнаруживает два файла заголовка с таким же именем в папке для сгенерированного кода, программное обеспечение генерирует ошибку.
Программа поддерживает покрытие кода для исходных файлов, сгенерированных в общих папках утилиты. Если вы конфигурируете покрытие кода для модели, которая использует генерацию кода общей утилиты, когда вы создаете модель, вы также создаете все исходные файлы в папке общих утилит с включенным покрытием кода.
Всякий раз, когда вы создаете модель, настройки покрытия кода модели должны соответствовать исходным файлам, которые вы ранее создали в общей папке утилит. В противном случае программное обеспечение сообщает, что код в общей папке утилит несовместим с текущим строением модели и должен быть перестроен. Для примера, если вы запускаете SIL симуляцию для модели с включенным покрытием кода и затем запускаете SIL симуляцию для другой модели с отключенным покрытием кода, программное обеспечение должно перестроить все исходные файлы в папке общих утилит.
Инструмент BullseyeCoverage по умолчанию не предоставляет данные о покрытии кода для встроенных макросов.
Для примера, если модель генерирует файл slprj/ert/_sharedutils/rt_SATURATE.h
который содержит макрос
#define rt_SATURATE(sig,ll,ul) (((sig) >= (ul)) ? (ul) : (((sig) <= (ll)) ? (ll) : (sig)) )
и макрос находится в sat_ert_rtw/sat.c
, затем отчет о покрытии предоставляет измерение для sat.c
, но нет данных покрытия для условий внутри макроса rt_SATURATE
.
Чтобы сконфигурировать инструмент BullseyeCoverage для предоставления данных о покрытии кода для встроенных макросов:
Откройте браузер BullseyeCoverage.
Выберите Tools > Options, чтобы открыть диалоговое окно Options.
На вкладке Build установите флажок Instrument macro expansions.
Нажмите OK.
Перезапустите симуляцию.
Также можно добавить текст -macro
на BullseyeCoverage
конфигурационный файл. Для получения дополнительной информации перейдите по адресу www.bullseye.com/help.
Если вы включите покрытие кода тестом LDRA® необходимо проверить, что графический интерфейс пользователя LDRA Testbed не открыт при запуске SIL или PIL симуляции. Если имя набора в графический интерфейс пользователя LDRA Testbed отличается от имени набора, используемого симуляцией SIL или PIL, SIL или PIL симуляция прекращает работать.
Целевой API связи поддерживает покрытие кода с LDRA Testbed для PIL верхней модели и блока Model.
Существуют незначительные различия в информации о покрытии кода, собранной во время SIL и PIL симуляций. В частности, с PIL, программное обеспечение не показывает явным образом покрытие выходной точки функции. Однако можно вывести покрытие точек выхода функции путем изучения покрытия оператора.
Для PIL симуляции с заданным покрытием кода LDRA Testbed могут быть некоторые исходные файлы, где зарегистрированный охват равен нулю. В этом случае программное обеспечение предоставляет сводную информацию, указывающую, что:
Существует охват для измерения.
Охват равен нулю.
Вы не видите информацию для отдельных зондов на каждой линии. Отображаемая сводная информация имеет связанную подсказку аннотации:
0 out of N coverage probes were exercised (detailed breakdown unavailable)
Покрытие кода BullseyeCoverage доступно для верхней модели и блока Model PIL при условии, что ваше приложение PIL может записывать непосредственно в файловую систему хоста. Ваша цель для приложения PIL должна обеспечить fopen
и fread
доступ к хост-системе файла.
Если покрытие кода недоступно, когда вы запускаете приложение PIL на своем целевом компьютере, вы можете собрать измерения покрытия кода, запустив приложение PIL на симулятор процессора, которая поддерживает прямой ввод-вывод файлов с файловой системой хоста.
Если вы измените унаследованный код и перезапустите SIL или PIL симуляцию, унаследованный код перекомпилируется. Однако код из модели может быть актуальным. В этом случае отчет генерации кода не обновляется и не отображает измененный унаследованный код. Вместо этого отображается информация о покрытии кода для измененного унаследованного кода со ссылкой на исходный унаследованный код. Необходимо перегенерировать отчет. Для получения дополнительной информации см. «Ограничение».