Проверяйте если Скрипты Сборки Поддержек Polyspace

Проблема

Эта тема релевантна, только если вы создаете проект Polyspace® в Windows® из ваших скриптов сборки.

Когда Polyspace прослеживает ваш скрипт сборки в консольном приложении Windows кроме cmd.exe, сбои команды. Однако команда сборки отдельно выполняется к завершению.

Например, ваш скрипт сборки выполняется к завершению от интерпретатора Cygwin™. Однако, когда Polyspace прослеживает сборку, скрипт сборки выдает ошибку.

Возможная причина

Когда вы запускаете консольное приложение Windows, ваши переменные окружения соответственно установлены. Альтернативные консольные приложения, такие как интерпретатор Cygwin могут установить вашу среду по-другому по сравнению с cmd.exe.

Polyspace пытается проследить ваш скрипт сборки учитывая, что скрипт выполнение до завершения в cmd.exe. Поэтому, даже если ваш скрипт выполнение до завершения в альтернативном консольном приложении, когда Polyspace прослеживает сборку, скрипт может перестать работать.

Решение

Убедитесь, что ваш скрипт сборки выполняется к завершению в cmd.exe интерфейс. Если сборка выполняется успешно, создайте обертку .bat файл вокруг вашего скрипта и трассировки этот файл.

Например, прежде чем вы прослеживаете команду сборки, которая выполняется к завершению в интерпретаторе Cygwin, выполнить одно из следующих действий:

  • Запустите интерпретатор Cygwin из cmd.exe и затем запустите свой скрипт сборки. Например, если вы используете скрипт build.sh чтобы создать ваш код, введите следующую команду в линии команды DOS:

    cmd.exe /C "C:\cygwin64\bin\bash.exe" -c build.sh
  • Найдите полный путь к своему скрипту сборки и затем запустите этот скрипт от cmd.exe.

    Например, введите следующую команду в линии команды DOS:

    cmd.exe /C path_to_script
    path_to_script полный путь к вашему скрипту сборки. Например, C:\my_scripts\build.sh.

Если шаги не выполняются к завершению, Polyspace не может проследить вашу сборку.

Если шаги завершаются успешно, прослеживают команду сборки после запуска его от cmd.exe. Например, на командной строке, сделайте следующее, чтобы создать файл опций Polyspace.

  1. Введите свои команды сборки в .bat файл.

    rem @echo off
    cmd.exe /C "C:\cygwin64\bin\bash.exe" -c build.sh
    Назовите файл, например, launching.bat.

  2. Проследите команды сборки в .bat файл и создает файл опций Polyspace.

    "C:\Program Files\MATLAB\R2017b\polyspace\bin\polyspace-configure.exe" -output-options-file myOptions.txt launching.bat

Можно теперь запустить polyspace-bug-finder на файле опций.