Eclipse CDTにPVS-Studioを組み込みます(Linux)

PVS-Studioによる無料のソースチェックの可能性に関するニュースは、最終的にEclipse CDTにソースチェックを実装するように促しました。 そして、CLion / QtCreator /などの場合、と書かれていますが、紫色のものをバイパスします:)使用した実験:Eclipse IDE for C / C ++ Developers、Version:Neon.1a Release(4.6.1)、Build id:20161007-1200 and PVS-Studio 11/06 / 20138.1。 そしてそれが起こったのです。



まず、アナライザー呼び出しをスクリプトでラップし(これについては後で詳しく説明します)、外部ユーティリティーとして呼び出します。 構成で、作業ディレクトリを指定します。



外部ツールの構成/メイン




[コンソールの割り当て]チェックボックスをオンにします。



外部ツールの構成/共通




この方法の欠点は、出力がEclipseパーサーによって解析されず、コンソールでしか表示できないことです。



外部ツールとして実行




この方法が適さない場合は、アセンブリ用の外部ユーティリティにチェックを埋め込むことができます。 この方法はすべてのプロジェクトに適しているわけではありませんが、適切な場合は、プロジェクトのプロパティに移動して、現在の構成の外部ビルダーパラメーターを構成します。



  1. ビルドタイプとして外部ビルダーを選択
  2. 「デフォルトのビルドコマンドを使用」のチェックを外します
  3. [ビルドコマンド]フィールドにスクリプトを入力します
  4. 「Makefileを自動的に生成する」を祝う


C / C ++ビルド




Eclipseが追加する "-k"スイッチ。 したがって、プロジェクトをビルドする場合、スクリプトは「-k all」キーで呼び出され、クリーニング中は「-k clean」キーで呼び出されます。



その結果、アセンブリ中のプロジェクトの自動チェックに加えて、Eclipseが理解する出力が得られ、その結果、「問題」ウィンドウでソースをナビゲートします。



ビルダーとして実行




さて、今スクリプト自体:



#!/bin/sh #      External Tool,   `make clean`: if [ -z "$1" ]; then make -f makefile clean fi #   ,  : if [ "$2" = "clean" ]; then make -f makefile clean #      : exit fi #  clean    External Tool -  : TEMPLOG=$(tempfile) #   `strace`,      : pvs-studio-analyzer trace -- make -f makefile all 2>&1 | sed '/strace: umovestr:/d' - pvs-studio-analyzer analyze -o "$TEMPLOG" #   ,       : RC=$(plog-converter -t errorfile "$TEMPLOG" | sed '/The documentation for all/d' -) rm -f "$TEMPLOG" echo "$RC"
      
      





今のところすべてです。 実際のプロジェクトでは、追跡されたものは何もありません。何らかの欠陥が生じるかもしれません。 しかし、一般的なスキームは原則として理解できます。




All Articles