У меня много проектов, для которых я создал общий файл MSBuild для запуска. Я пытаюсь интегрировать статический анализ PVS Studio в сборку, не создавая ее во второй раз. Я следил за документацией на сайте 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"/>
Я уверен, что вам все потребуется немного больше информации, чтобы понять это, поэтому дайте мне знать, что я должен получить за вас.
Благодаря,
ТБГ
Вы должны сделать одно из следующего:
Если вы хотите, выход анализатора должны быть сохранены в файл, то вы должны установить BuildingInIDE
приписывать false
в обеих задачах, следует также указать файл для вывода должны быть сохранены, например, OutputFilePath = "$(OutputDir)"/pvs.log
. Вы сможете просмотреть такой журнал из подключаемого модуля PVS-Studio IDE/Standalone, открыв его как unparsed log
.
Если вы хотите создать свой проект внутри Visual Studio
и PVS-Studio
плагин для подключения результатов анализатора к нему выходному окну сразу, то вы должны установить оба BuildingInIDE
атрибуты true
(или "$(BuildingInsideVisualStudio)"
) и включить в режиме MSBuild
, перейдя в PVS-Studio → Options → Specific Analyzer Settings → MSBuild Output Log Monitoring
и установите значение true
.