0

実行する共通の MSBuild ファイルを作成した多くのプロジェクトがあります。PVS Studio の静的解析をビルドに 2 回ビルドせずに統合しようとしています。私は PVS のサイトのドキュメントを少し見ましたが、何かが欠けているに違いありません。これは、PVS をビルドするときにトリガー/呼び出しが行われないように見えるためです。誰もこれについて何か経験があり、私に手を差し伸べることができますか?

これがビルド ファイルの PVS ビットです。

 <UsingTask TaskName="ProgramVerificationSystems.PVSStudio.PVSStudio" 
    AssemblyFile="C:\Program Files (x86)\PVS-Studio\PVS-Studio-MSBuild.dll" />
    <Target Name="PVSStudioAnalysisBeforeCompile" BeforeTargets="ClCompile">
    <Exec Command="echo PVSStudio initiating now."/>
    <PVSStudio Condition="'%(ClCompile.ExcludedFromBuild)'!='true'" 
        Sources="@(ClCompile)" 
        BeforeClCompile="true" 
        BuildingInIDE="false" 
        TrackerLogDirectory="%(ClCompile.TrackerLogDirectory)" 
        PreprocessorPath="$(VCInstallDir)" 
        Platform="$(Platform)" 
        ProjectFullPath="$(MSBuildProjectFullPath)" 
        SolutionDir="$(SolutionDir)">
     <Output TaskParameter="SourcesAfterTlogParsing"    
        ItemName="CLCompileAfterTlogParsing" />
     </PVSStudio>
   </Target>
<Target Name="PVSStudioAnalysisAfterCompile" AfterTargets="ClCompile">
<PVSStudio Sources="@(CLCompileAfterTlogParsing)" 
    BeforeClCompile="false" 
    BuildingInIDE="$(BuildingInsideVisualStudio)" 
    PreprocessorPath="$(VCInstallDir)" 
    OutputFilePath   ="$(OutputDir)" 
    Platform="$(Platform)" 
    ProjectFullPath="$(MSBuildProjectFullPath)" 
    SolutionDir="$(SolutionDir)" />
<Exec Command="echo PVSStudio finished"/>

これを理解するには、もう少し情報が必要になると思いますので、何を入手すればよいか教えてください。

ありがとう、

TBG

4

1 に答える 1

1

次のいずれかを実行する必要があります。

  1. アナライザーの出力をファイルに保存する場合は、両方のタスクで BuildingInIDE属性をに設定する必要があります。また、出力を保存するファイル ( . このようなログは、PVS-Studio IDE プラグイン/スタンドアロンから として開くことで表示できます。falseOutputFilePath = "$(OutputDir)"/pvs.logunparsed log

  2. 内部からプロジェクトをビルドしVisual StudioPVS-Studioプラグインでアナライザーの結果をすぐに出力ウィンドウに接続する場合は、両方のBuildingInIDE属性をtrue(または)に設定し、に移動してモード"$(BuildingInsideVisualStudio)"を有効にする必要があります。MSBuildPVS-Studio -> Options -> Specific Analyzer Settings -> MSBuild Output Log Monitoringtrue

于 2014-09-15T11:40:16.730 に答える