メインコンテンツ

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 解析のオプション ファイル (Polyspace Bug Finder)を参照してください。

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

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

ビルド タスクまたはビルド コマンドからビルド構成を抽出するように Polyspace as You Code を構成します。この方法では、Polyspace がビルド タスクまたはビルド コマンドを実行し、実行されたプロセスからビルド オプションを収集します。あるいは、JSON コンパイル データベースからビルド構成を抽出します。この方法では、Polyspace は必要なビルド構成をコンパイル データベースから読み取ることができます。

メモ

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

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

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

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

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

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

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

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

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

  2. [Polyspace][解析オプション] 設定で、以下のように指定します。

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

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

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

    • ${workspaceFolder}

    • ${workspaceFolderBasename}

  3. Ctrl+Shift+P を押して [コマンド パレット] を開き、Polyspace: Generate Build Options と入力します。

Polyspace はタスクで指定されているビルド コマンドを実行し、ビルドをトレースして構成情報を抽出し、オプション ファイルを生成します。Polyspace as You Code 解析エンジンは、生成されたオプション ファイルを以降の解析で使用します。

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

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

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

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

  2. [Polyspace][解析オプション] 設定で、以下のように指定します。

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

    ビルド コマンドを指定します。以下に例を示します。

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

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

  3. Ctrl+Shift+P を押して [コマンド パレット] を開き、Polyspace: Generate Build Options と入力します。

Polyspace はビルド コマンドを実行し、ビルドをトレースして構成情報を抽出し、オプション ファイルを生成します。Polyspace as You Code 解析エンジンは、生成されたオプション ファイルを以降の解析で使用します。

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

ビルド システムで 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 Setup手動設定
    Manual Setup: BuildJSON コンパイル データベース ファイルから取得
    [Manual Setup][Build Setting: JSON Compilation Database File]

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

Polyspace はコンパイル データベースからビルド構成情報を自動的に抽出し、オプション ファイルを生成します。Polyspace as You Code 解析エンジンは、生成されたオプション ファイルを以降の解析で使用します。

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

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

オプション ファイルを更新するには、Ctrl+Shift+P を押して [コマンド パレット] を開き、Polyspace: Generate Build Options と入力します。

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

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 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 でターミナルを開き、次のコマンドを入力します。

ps-migrate-checkers-selection -import-options-from-psprj pathToPsprjFile

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

パス pathToPsprjFile.psprj ファイルの絶対パスです。

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

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

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

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

  2. [Polyspace][解析オプション] 設定で、以下のように指定します。

    設定
    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)を参照してください。

参考

トピック