Отчеты генерации кода

Когда вы активируете генерацию отчетов или возникает ошибка, fiaccel генерирует отчет генерации кода. Используйте отчет для отладки MATLAB® функций и проверить, что они подходят для генерации кода. Отчет содержит информацию о типах переменных и выражениях в ваших функциях. Эта информация помогает вам найти источники сообщений об ошибке и понять правила распространения типов.

Генерация отчетов

Для управления генерацией и открытием отчета используйте fiaccel опции:

  • Чтобы сгенерировать отчет, используйте -report опция.

  • Чтобы сгенерировать и открыть отчет, используйте -launchreport опция.

Кроме того, используйте свойства объекта строения:

  • Чтобы сгенерировать отчет, задайте GenerateReport на true.

  • Если хотите fiaccel чтобы открыть отчет для вас, установите LaunchReport на true.

Расположение отчета

Имя отчета генерации кода report.mldatx. Он расположен в html подпапка выходной папки генерации кода. Если у вас есть MATLAB R2018a или позже, можно открыть report.mldatx дважды кликнув по файлу.

Ошибки и предупреждения

Просмотрите ошибки генерации кода, предупреждения и информационные сообщения на вкладке All Messages. Чтобы выделить исходный код ошибки или предупреждения, щелкните сообщение. Это лучшая практика адресовать первое сообщение, поскольку последующие ошибки и предупреждения могут быть связаны с первым сообщением.

Файлы и функции

На панели MATLAB Source представление Function List организует функции согласно содержащему файл файлу. Для визуализации функций в соответствии со структурой вызова используйте представление Call Tree.

Чтобы просмотреть функцию в области кода отчета, щелкните функцию в списке. При нажатии на функцию открывается файл, содержащий функцию. Чтобы отредактировать выбранный файл в редакторе MATLAB, щелкните Edit in MATLAB или номер линии на панели кода.

Специализированные функции или классы

Когда вызывается функция с различными типами входов или класс использует различные типы для своих свойств, генератор кода производит специализации. На панели MATLAB Source нумерованные функции (или классы) указывают на специализации. Для примера:

Чтобы просмотреть функцию MATLAB на панели кода, щелкните имя функции на панели MATLAB Source. На панели кода, когда вы останавливаетесь на переменной или выражении, подсказка отображает информацию о ее размере, типе и сложности. Кроме того, подсветка синтаксиса помогает вам идентифицировать элементы синтаксиса MATLAB и некоторые атрибуты генерации кода, такие как является ли функция внешней или является ли аргумент постоянным.

Внешние функции

Отчет идентифицирует внешнюю функцию с фиолетовым текстом. Подсказка указывает, что функция является внешней.

Постоянные аргументы

Оранжевый текст указывает аргумент константы времени компиляции на функцию точки входа или специализированную функцию. Подсказка включает постоянное значение.

Знание значения постоянного аргумента помогает вам понять сгенерированные сигнатуры функции. Это также помогает вам увидеть, когда генерация кода создает специализацию функции для различных значений постоянных аргументов.

Чтобы экспортировать значение в переменную в рабочей области, щелкните значок «Экспорт».

Переменный MATLAB

Таблица переменных показывает:

  • Класс, размер и сложность

  • Свойства фиксированных точек

Эта информация помогает вам отлаживать ошибки, такие как ошибки несоответствия типов, и понимать распространение типов.

Визуальные индикаторы на вкладке Переменные

Эта таблица описывает символы, значки и другие индикаторы в таблице переменных.

Столбец в таблице переменныхИндикаторОписание
ИмярасширительПеременная имеет элементы или свойства, которые можно увидеть, щелкнув по расширителю.
Имя{:}Неоднородный массив ячеек (все элементы имеют одинаковые свойства).
Имя{n}nпервый элемент массива гетерогенного массива ячеек.
Классv > nv используется повторно с другим классом, размером и сложностью. Номер n определяет повторное использование с уникальным набором свойств. Когда вы останавливаетесь на переименованной переменной, в отчете подсвечиваются только образцы этой переменной, которые имеют общий класс, размер и сложность. См. «Повторное использование той же переменной с другими свойствами».
Размер:nМассив переменного размера с верхней границей n.
Размер:?Массив переменного размера без верхней границы.
РазмеркурсивМассив переменного размера, размерности которого не изменяют размер во время выполнения.
Классsparse префиксРазреженный массив.
Классcomplex префиксКомплексное число.
Класс

Тип с фиксированной точкой.

Чтобы увидеть свойства фиксированной точки, щелкните значок.

Аналитика кода

Если вы включите создание отчетов о потенциальных различиях, можно просмотреть сообщения на вкладке Code Insights. Отчет включает сообщения о потенциальных различиях только в том случае, если вы включили создание отчетов о потенциальных различиях. Смотрите Отчеты о потенциальных различиях.

Ограничения по отчетам

  • В сводных данных точек входа показаны отдельные элементы varargin и varargout, но таблица переменных их не показывает.

  • В отчете не показана полная информация для развернутых циклов. Он отображает типы данных одной произвольной итерации.

  • В отчете не отображается информация о мертвом коде.

См. также

Похожие темы