Проверяйте если Скрипты Сборки Поддержек 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 на файле опций.