メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Polyspace でビルド スクリプトがサポートされるかどうかの確認

問題

このトピックは、ビルド スクリプトから Windows® の Polyspace® プロジェクトを作成している場合にのみ関係します。

Polyspace が Windows コンソール アプリケーション (cmd.exe 以外) でビルド スクリプトをトレースすると、コマンドは失敗します。ただし、ビルド コマンド自体の実行は完了します。

たとえば、Cygwin™ シェルではビルド スクリプトの実行が完了するとします。しかし、Polyspace がビルドをトレースすると、ビルド スクリプトでエラーが発生します。

考えられる原因

Windows コンソール アプリケーション起動時には、環境変数は正しく設定されています。cmd.exe とは異なる環境が、別のコンソール アプリ (Cygwin シェルなど) で設定されることがあります。

Polyspace は、ビルド スクリプトの実行が cmd.exe で完了していると仮定して、スクリプトをトレースしようとします。したがって、スクリプトの実行が別のコンソール アプリケーションで完了した場合でも、Polyspace でビルドがトレースされると、スクリプトは失敗する可能性があります。

解決法

ビルド スクリプトの実行が cmd.exe インターフェイスで完了されるようにします。ビルドが正常に実行されたら、そのスクリプトを囲むラッパーとなる .bat ファイルを作成し、このファイルをトレースします。

たとえば、Cygwin シェルで実行が完了したビルド コマンドをトレースする前に、cmd.exe で Cygwin シェルを起動し、ビルド スクリプトを実行します。一例として、スクリプト build.sh を使用してコードをビルドするには、DOS コマンド ラインで次のコマンドを入力します。

cmd.exe /C "C:\cygwin64\bin\bash.exe" --login -c build.sh
この手順で実行が完了しない場合、Polyspace ではビルドをトレースできません。

この手順で正しく完了したら、cmd.exe からビルド コマンドを起動した後にトレースします。たとえば、コマンド ラインでは、次の手順で Polyspace のオプション ファイルを作成します。

  1. .bat ファイルにビルド コマンドを入力します。

    rem @echo off
    cmd.exe /C "C:\cygwin64\bin\bash.exe" --login -c build.sh
    ファイルに launching.bat などの名前を付けます。

  2. .bat ファイルでビルド コマンドをトレースして、Polyspace のオプション ファイルを作成します。

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

これで、オプション ファイルで polyspace-bug-finder または polyspace-bug-finder-server を実行できるようになります。