PVS-Studioがコンパイラエクスプローラーに追加されました

image1.png


少し前に、重要なイベントが発生しました。PVS-StudioがCompiler Explorerに登場しました!これで、godbolt.org(コンパイラーエクスプローラー)でコードのエラーをすばやく簡単に分析できます。この革新により、アナライザーの機能に対する好奇心を満たすことから、テスト結果を友人とすばやく共有する機能まで、多くの新しい可能性が開かれます。これらの機会の使用方法については、この記事で説明します。注意してください-大きなGIF!



ここから先に進んでコードを分析したい場合は、完全にすぐに使用できるリンクがあります。私はそれをブックマークに追加することをお勧めします-それはまだ重宝します;)



次に、順番にすべてについて話しましょう。Compiler Explorerは、コンパイラを探索するためのインタラクティブなオンラインサービスです。ここで、サイト上でコードを記述し、これまたはそのコンパイラーが生成するアセンブリー出力をすぐに確認できます。



image2.gif


さらに、サイトにはさまざまな可能性があります。今日は、PVS-Studioを使用して分析する可能性について検討します。分析を行うには、次のことを行う必要があります。



  1. ウェブサイトgodbolt.orgにアクセスし
  2. コンパイラ出力のタブで、[ツールを追加...]をクリックします。
  3. ドロップダウンリストから「PVS-Studio」を選択します。


以下のアニメーションで、このような一連のアクションの例を確認できます。



image3.gif


できた!これで、表示されるウィンドウに、アナライザーによってコードに対して発行されたすべての警告が自動的に表示されます。独自の手書きコードと個別にダウンロードしたソースファイルの両方を分析できます。当然、ファイルは自己完結型であり、標準ライブラリの一部ではないファイルには含まれません。そうでない場合、ファイルはコンパイルも検証もされません。



現在、PVS-Studioを使用した分析は、x86およびx64プラットフォーム用のGCCおよびClangのすべてのバージョンのサイトで利用できます。必要に応じて、サイトの機能を、サポートする他のコンパイラ(たとえば、MSVCまたはARMのコンパイラ)に拡張する予定です。



現在、エラー、警告、メモのレベルの一般的な診断のみがサイトで有効になっています。他のモード(最適化、64ビット、カスタム、MISRA)を意図的に省略して、最も重要な警告のみが出力に残るようにしました。また、PVS-Studio自体とは異なり、コンパイラエクスプローラーはまだC#とJavaをサポートしていません。これらの言語が表示されたらすぐにコード分析を実行する予定です:)



コンパイラーエクスプローラーは非常にスマートなウィンドウシステムなので、移動したりたとえば、互いにオーバーラップします。現在コンパイラの出力に興味がない場合は、それを「隠す」ことができます。このような:



image4.gif


コンパイラエクスプローラウィンドウで直接コードを書くか、個々のファイルをダウンロードできます。これを行うには、[保存/ロード]をクリックし、開いたタブで[ファイルシステム]を選択します。Ctrl + Sを押して、コンピューターに書き込むコードを「ダウンロード」することもできます。



image5.gif


サイト上のプロジェクト全体を分析することはできません。ファイルを個別にアップロードすることしかできません。



プログラムの出力を確認したい場合は、コードを書き込むためのウィンドウ(コンパイラーのウィンドウではない)で[新規追加->実行のみ]をクリックして実行ウィンドウを開くことができます。下のgifに、学生と教師によるPVS-Studioの無料使用に関するページから取得した実験室作業の出力を示します



image6.gif


ちなみに、godboltへのリンクをクリックすると、事前に準備されたウィンドウに事前に記述されたコードが表示されます。はい、生成時のページの状態を完全に保持するパーマリンクを生成できます!これを行うには、画面の右上隅にある[共有]ボタンをクリックする必要があります。



image7.gif


この方法は、コードのコンパイル/分析の結果を友人や同僚と共有するのに非常に便利です。受信側が文字通り何もする必要がないことが特に便利です。リンクをたどるだけで、必要なものがすべてすぐに開きます。



この機会を利用して、テクニカルサポートでクライアントと協力する予定です。CompilerExplorerを使用すると、最小限の再現性のあるサンプルをコンパイルしてメールですばやく送信できるため、非常に便利です。



また、ドロップダウンの[共有]タブには、埋め込みリンクを作成するためのアイテムがあり、他のサイトのコンパイラエクスプローラーでウィンドウを埋め込むことができます。



コンパイラエクスプローラーには常に最新バージョンのPVS-Studioが含まれているため、各リリースの後に、サイトでエラーが発見されることが多くなります。それにもかかわらず、godbolt.orgでPVS-Studioを使用しても、その機能の全体像はわかりません。PVS-Studioは診断だけでなく、開発されたインフラストラクチャでもあるからです。



  • C、C ++、C#、およびJava言語でのコード分析により、はるかに多くのプラットフォームとコンパイラに対応。
  • Visual Studio 2010-2019、JetBrains Rider、IntelliJ IDEA用のプラグイン。
  • TeamCity、PlatformIO、Azure DevOps、Travis CI、CircleCI、GitLab CI / CD、Jenkins、SonarQubeなどへの統合
  • IDEまたはビルドシステムに依存しない分析のためのコンパイル監視ユーティリティ。
  • そして他の多くの。


最終的には、アナライザーをダウンロードした後にのみ、複数のファイルで構成されるプロジェクトを完全に分析できます。したがって、PVS-Studioを正しく理解するための最良の方法はアナライザーダウンロードしてプロジェクトで試すことです。



最新情報を入手するには、ニュースに従ってください。また、ブログを読んでください。そこでは、実際のプロジェクトでのバグの発見に関するニュースや記事だけでなく、C、C ++、C#、およびJavaに関連するさまざまな興味深い点も公開しています。



私たちのソーシャルネットワーク:







この記事を英語を話す視聴者と共有したい場合は、翻訳リンクを使用してください:George Gribkov。PVS-Studioがコンパイラエクスプローラーに追加されました!...



All Articles