Main Content

Visual Studio Code での Polyspace as You Code Analysis のビルド オプションの生成

Polyspace® as You Code は、Visual Studio® Code エディターで現在アクティブなソース コード ファイルを調べ、バグやコーディング規約違反をチェックします。

解析がエラーなしで実行されるようにするため、Polyspace as You Code に、データ型のサイズやコンパイラ マクロ定義などのビルド構成の特性を提供します。ビルド構成情報を提供するには、次のようにします。

  • ビルド タスクまたはビルド コマンド、あるいは JSON コンパイル データベースからビルド構成情報を抽出するように Polyspace as You Code を構成します。ビルド タスクまたはビルド コマンドで polyspace-configure を実行するには、まずタスクまたはコマンドを実行し、実行されたプロセスから必要な情報を抽出することに注意してください。一方で、polyspace-configure は JSON コンパイル データベースから必要なすべての情報を読み取ることができます。

  • オプション ファイルのビルド構成をエミュレートする解析オプションを手動で指定します。Polyspace 解析のオプション ファイル (Polyspace Bug Finder)を参照してください。

  • Polyspace デスクトップ製品プロジェクト ファイルから解析オプションをインポートします。

ビルド構成を抽出するための Polyspace as You Code の構成

ビルド タスク、ビルド コマンド、または JSON コンパイル データベースからビルド構成情報を抽出するには、次のようにします。

  1. Ctrl+, (コンマ) を押して Visual Studio Code の設定を開きます。

    設定の検索バーに polyspace.analysisoptions と入力し、[Polyspace][Analysis Options: Analysis Setup][手動設定] に設定します。

  2. [Polyspace][Analysis Options][Manual Setup: Build] の該当するオプションを設定し、対応する [Build Setting] フィールドに入力します。

    Configure Polyspace as You Code Extension in Visual Studio Codeを参照してください。

  3. [Command Palette] (Ctrl+Shift+P) を開き、Polyspace: Generate Build Options と入力します。

メモ

Windows で、リモート開発を有効にしており、リモート マシンのプロジェクト ファイルまたはフォルダーがネットワーク ドライブ上にある場合には、そのネットワーク ドライブの UNC パスを入力してください。Configure Polyspace as You Code for Remote Developmentを参照してください。リモート開発を有効にしている場合、Polyspace as You Code 拡張機能はドライブ名にマップされているネットワーク ドライブのパスを解決できないため、Polyspace: Generate Build Options コマンドが失敗する可能性があります。

Polyspace はビルド情報を抽出し、Polyspace as You Code 解析エンジンが以降の解析で使用するオプション ファイルを生成します。このファイルには、ビルド構成をエミュレートする解析オプションが含まれています。

生成されたオプション ファイルは、workingDirectory/projectName フォルダーの下の .polyspace-configure フォルダーまたはそのサブフォルダーの 1 つに保存されます。

workingDirectory のパスは、[Polyspace][Analysis Engine: Result Folder] のパス (Polyspace as You Code 拡張機能の設定で指定したパス) です。projectName は、現在解析中のファイルが含まれている [EXPLORER] の最上位フォルダーの名前です。

ビルド タスクからのビルド構成の取得

Visual Studio Code を使用すると、コード エディターから外部ツールを実行するためのタスクを定義できます。Integrate with External Tools via Tasks を参照してください。

コンパイラを呼び出してプロジェクトの完全なビルドを実行するカスタム タスクを定義する場合、Polyspace はこのビルド タスクからビルド構成を抽出できます。

  1. Ctrl+, (コンマ) を押して Visual Studio Code の設定を開きます。

    設定の検索バーに polyspace.analysisoptions と入力します。

  2. [Polyspace][Analysis Options] の設定に、この表に示されている値を設定します。

    設定
    Analysis Setup手動設定
    Manual Setup: Buildビルド タスクから取得
    [Manual Setup][Build Setting: Build Task]

    ビルド タスクの名前を指定します。これは tasks.json ファイルのタスク定義の "label" フィールドに対応しています。指定するタスクは、完全なビルドを実行する必要があります。

    Polyspace では、タスク定義で、次の Visual Studio Code の事前定義変数のみサポートしています。

    • ${workspaceFolder}

    • ${workspaceFolderBasename}

  3. [Command Palette] (Ctrl+Shift+P) を開き、Polyspace: Generate Build Options と入力します。

Polyspace はタスクで指定されているビルド コマンドを実行し、ビルドをトレースして構成情報を抽出し、オプション ファイルを生成します。

ビルド コマンドからのビルド構成の取得

ビルド コマンドからビルド構成情報を抽出するには、次のようにします。

  1. Ctrl+, (コンマ) を押して Visual Studio Code の設定を開きます。

    設定の検索バーに polyspace.analysisoptions と入力します。

  2. [Polyspace][Analysis Options] の設定に、この表に示されている値を設定します。

    設定
    Analysis Setup手動設定
    Manual Setup: Buildビルド コマンドから取得
    [Manual Setup][Build Setting: Build Command]

    たとえば次のようにビルド コマンドを指定します。

    gcc -g -o helloworld hello.c main.c

    完全なビルドを実行するコマンドを指定する必要があります。

  3. [Command Palette] (Ctrl+Shift+P) を開き、Polyspace: Generate Build Options と入力します。

Polyspace はビルド コマンドを実行し、ビルドをトレースして構成情報を抽出し、オプション ファイルを生成します。

JSON コンパイル データベースからのビルド構成の取得

ビルド システムで JSON コンパイル データベース ファイルの生成がサポートされている場合にはこの設定を使用します。このファイルには、プロジェクト内のすべての翻訳単位のコンパイラ呼び出しが含まれています。JSON コンパイル データベースを参照してください。

JSON コンパイル データベースからビルド構成情報を抽出するには、次のようにします。

  1. JSON コンパイル データベース ファイルを生成します。このファイルを生成する方法の例は、JSON コンパイル データベースからの Polyspace オプション ファイルの作成 (Polyspace Bug Finder)を参照してください。

    ローカル マシンで生成されたものではない JSON コンパイル データベースを使用する場合は、Polyspace as You Code を実行している場所から、ファイルに記述されているパスにアクセスできることを確認してください。

  2. Ctrl+, (コンマ) を押して Visual Studio Code の設定を開きます。

    設定の検索バーに polyspace.analysisoptions と入力します。

  3. [Polyspace][Analysis Options] の設定に、この表に示されている値を設定します。

    設定
    Analysis Setup手動設定
    Manual Setup: BuildJSON コンパイル データベース ファイルから取得
    [Manual Setup][Build Setting: JSON Compilation Database File]

    手順 1 で生成したファイルの絶対パスを指定します。ファイル名は通常 compile_commands.json です。

  4. [Command Palette] (Ctrl+Shift+P) を開き、Polyspace: Generate Build Options と入力します。

Polyspace はコンパイル データベースからビルド構成情報を抽出し、オプション ファイルを生成します。

生成されたビルド オプション ファイルの更新

プロジェクトやワークスペースにソース ファイルを追加したり、既存のファイル名を変更したりしてビルド構成を変更する場合は、生成されたオプション ファイルを更新してこのような変更を反映します。オプション ファイルを更新する前に、新しい構成でビルドが正常に完了していることを確認してください。

オプション ファイルを更新するには、[Command Palette] (Ctrl+Shift+P) を開いて Polyspace: Generate Build Options と入力します。

JSON コンパイル データベース ファイルからビルド情報を抽出する場合は、ビルド オプション ファイルを更新する前に、コンパイル データベースを再生成しておいてください。

Troubleshoot Failed Analysis or Unexpected Results in Polyspace as You Codeも参照してください。

手動での解析オプションの指定

次のような場合にこの設定を使用します。

  • ビルド システムの詳細を把握しており、オプション ファイルのビルド構成をエミュレートする Polyspace 解析オプションを指定する場合。Polyspace 解析のオプション ファイル (Polyspace Bug Finder)を参照してください。

    使用可能な解析オプションのリストについては、Polyspace Bug Finder 解析エンジンのすべてのオプションのリスト (Polyspace Bug Finder)を参照してください。

  • ユーザーまたはチーム内の他のユーザーがビルド システムに対して構成した Polyspace オプション ファイルを再利用する場合。

    ローカル マシンで構成または生成されたものではないオプション ファイルを再利用する場合には、Polyspace as You Code を実行する場所から、ファイルに記述されているパスにアクセスできることを確認してください。

解析オプション ファイルを指定するには、次のようにします。

  1. Ctrl+, (コンマ) を押して Visual Studio Code の設定を開きます。

    設定の検索バーに polyspace.analysisoptions と入力します。

  2. [Polyspace][Analysis Options] の設定に、この表に示されている値を設定します。

    設定
    Analysis Setup手動設定
    Manual Setup: BuildPolyspace ビルド オプション ファイルから取得
    [Manual Setup][Build Setting: Polyspace Build Options File]

    Polyspace オプション ファイルの絶対パスを指定します。

Polyspace as You Code 解析エンジンは、指定されたオプション ファイルを以降の解析で使用します。

ビルド構成を変更する場合は、オプション ファイルを編集して変更を反映します。ターゲット環境とコンパイラの動作の指定 (Polyspace Bug Finder)を参照してください。

Polyspace デスクトップ プロジェクトからの解析オプションのインポート

Polyspace デスクトップ製品で解析を構成する場合は、生成される Polyspace デスクトップ PSPRJ ファイルの情報を使用して Polyspace as You Code 解析を構成できます。

Polyspace デスクトップ PSPRJ ファイルから解析オプションをインポートするには、Visual Studio Code でターミナルを開き、次のコマンドを入力します。

polyspace-checkers-selection -import-options-from-psprj pathToPsprjFile
polyspace-checkers-selection バイナリは Polyspace as You Code インストール フォルダー内の polyspace/bin フォルダーにあります。このインストール フォルダーを PATH 環境変数に追加していない場合は、バイナリの絶対パスを含めてこのコマンドを実行してください。

パス pathToPsprjFile は PSPRJ ファイルの絶対パスです。

Polyspace によりオプション ファイル (analysis_options.txt) と XML チェッカー アクティベーション ファイル (checkers_activation_file.xml) が生成されます。生成されたファイルは、PSPRJ ファイルと同じ場所にある import フォルダーに保存されます。

Polyspace as You Code 解析の構成を行うには、次のようにします。

  1. Ctrl+, (コンマ) を押して Visual Studio Code の設定を開きます。

    設定の検索バーに polyspace.analysisoptions と入力します。

  2. [Polyspace][Analysis Options] の設定に、この表に示されている値を設定します。

    設定
    Analysis Setup手動設定
    Manual Setup: Build

    ビルド オプション ファイルは不要

    この設定では、[Build Setting: Polyspace Build Options File] フィールドに指定されたファイルは無視されます。

    Manual Setup: Checkers File

    checkers_activation_file.xml の絶対ファイル パス

    Manual Setup: Other Analysis Options

    analysis_options.txt の絶対ファイル パス

Polyspace as You Code 解析エンジンは、以降の解析でこれらのファイルを使用します。

ビルド構成を変更する場合は、オプション ファイルを編集して変更を反映します。ターゲット環境とコンパイラの動作の指定 (Polyspace Bug Finder)を参照してください。

関連するトピック