
PVS-Studio unterstützt die Analyse von Projekten in C, C ++, C # und Java. Sie können den Analysator unter Windows-, Linux- und MacOS-Systemen verwenden. Dieser Beitrag konzentriert sich auf die Analyse von Code, der in C und C ++ in einer Linux-Umgebung geschrieben wurde.
Installation
Abhängig von der Art der Distribution gibt es verschiedene Möglichkeiten, PVS-Studio unter Linux zu installieren. Die bequemste und bevorzugte Methode ist die Verwendung des Repositorys: Auf diese Weise können Sie den Analysator automatisch aktualisieren, wenn neue Versionen veröffentlicht werden. Die zweite Möglichkeit besteht darin, das Installationspaket zu verwenden, das hier heruntergeladen
werden kann .
Die Befehle, die Sie zur Installation ausführen müssen, hängen von der von Ihnen verwendeten Linux-Distribution ab. Bei Debian-basierten Systemen sieht die Installation aus dem Repository beispielsweise folgendermaßen aus:
wget -q -O - https:
Um PVS-Studio aus dem Installationspaket zu installieren, können Sie das Dienstprogramm gdebi verwenden:
sudo gdebi pvs-studio-VERSION.deb
Der Installationsvorgang wird im Abschnitt "
Installieren und Aktualisieren von PVS-Studio unter Linux " der Dokumentation ausführlicher beschrieben. Dort finden Sie auch Informationen zu nicht Debian-basierten Systemen.
Nach der Installation müssen Sie die Lizenzdaten eingeben. Verwenden Sie dazu den Befehl
pvs-studio-analyzer credentials NAME KEY [-o LIC-FILE]
Wobei
NAME und
KEY der Name sind, für den die Lizenz registriert ist, und der Lizenzschlüssel. Mit dem optionalen Parameter
–o können Sie den Pfad angeben, über den die Lizenzdatei generiert wird. Standardmäßig wird es im
Verzeichnis ~ / .config / PVS-Studio / gespeichert.
Den Testschlüssel erhalten Sie auf der Seite "
PVS-Studio herunterladen und ausprobieren ".
Projektüberprüfung
Nach der Installation des Analysators können Sie mit der Überprüfung von Projekten beginnen. Es gibt zwei Möglichkeiten, dies zu tun:
- Zusammenstellungsüberwachung;
- Starten während des Montageprozesses direkt vom Montagesystem.
Betrachten wir zuerst die erste Methode. Um die Überwachung unter Linux zu starten, benötigen Sie das Dienstprogramm
strace . Der Analysator sammelt damit Informationen darüber, welche Prozesse während der Montage des Projekts gestartet wurden.
Der Start wird mit dem folgenden Befehl ausgeführt:
pvs-studio-analyzer trace -- make
In diesem Beispiel wird build with make verwendet, aber jeder andere Befehl, den Sie zum Starten des Builds verwenden, kann anstelle von make verwendet werden. Befehlszeilenparameter können wie gewohnt übergeben werden.
Nach dem Zusammenbau erstellt strace eine Datei, mit der der Analysator den Quellcode überprüft. Sie können die Analyse mit dem Befehl ausführen
pvs-studio-analyzer analyze -o /path/to/project.log
Die Ausgabe ist eine verschlüsselte Datei mit den Ergebnissen, die Sie in eines der unterstützten Formate konvertieren können. Wir werden im nächsten Abschnitt die Arbeit mit Berichten in Betracht ziehen.
Zusätzlich zur Verwendung von strace kann die Analyse auch basierend auf der Datei
compile_commands.json (JSON Compilation Database) ausgeführt werden. In vielen Build-Systemen können Sie Compiler-Aufrufbefehle exportieren oder das
BEAR- Dienstprogramm verwenden. In diesem Fall können Sie die Analyse mit dem Befehl ausführen
pvs-studio-analyzer analyze –f /path/to/compile_commands.json
Es ist zu beachten, dass der Analysator den verwendeten Compiler anhand des Namens seiner ausführbaren Datei erkennt. Wenn während der Überprüfung die Fehlermeldung "Keine Kompilierungseinheiten gefunden"
angezeigt wird , geben Sie den Namen Ihres Compilers über den Parameter
–compiler oder
–c an :
pvs-studio-analyzer analyze -c MyCompiler
Dies kann erforderlich sein, wenn Compiler mit nicht standardmäßigen ausführbaren Dateinamen übergreifend kompiliert und verwendet werden.
Zusätzlich zu den Starts im Überwachungsmodus können Sie den Analysator in Ihr Montagesystem oder Ihre IDE integrieren. Beispiele für Projekte mit bereits konfigurierter Integration auf
GitHub finden Sie im PVS_Studio-Repository:
Ausführlichere Anweisungen zum Ausführen der Analyse unter Linux finden Sie in der
Dokumentation .
Arbeiten Sie mit Berichten
Nach Überprüfung des Projekts erstellt der Analysator einen codierten Bericht. Verwenden Sie zum Konvertieren in eines der unterstützten Formate das
Dienstprogramm plog-converter , das zusammen mit PVS-Studio installiert wird.
Das Dienstprogramm unterstützt die folgenden Formate:
- xml - ein praktisches Format für die zusätzliche Verarbeitung von Analyseergebnissen, das vom Plugin für SonarQube unterstützt wird;
- csv ist ein Textformat zur Darstellung von Tabellendaten.
- errorfile - Ausgabeformat für gcc und clang;
- Aufgabenliste - Fehlerformat, das in QtCreator geöffnet werden kann;
- HTML - HTML-Bericht mit einer kurzen Beschreibung der Analyseergebnisse;
- fullhtml - HTML-Bericht mit Sortieranalyseergebnissen nach verschiedenen Parametern und Navigation durch den Quellcode.
Das Fullhtml-Format eignet sich am besten zum Anzeigen des Berichts, da Sie zur Quellcodezeile wechseln können, in der die Warnung aufgetreten ist. Mit dem folgenden Befehl können Sie den Analysatorbericht in dieses Format konvertieren:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
Nachdem der Befehl ausgeführt wurde, wird das Verzeichnis
/ path / report_dir erstellt, in dem sich die Berichtsdateien befinden.
Beachten Sie den Schalter
-a . Hier können Sie festlegen, welche Warnungen in den Bericht aufgenommen werden sollen. Dies ist praktisch, wenn Sie den Ausgang des Analysators filtern müssen. Das obige Team erstellt einen Bericht, der nur Warnungen der allgemeinen Analysegruppe der ersten und zweiten Konfidenzstufe (
hoch und
mittel ) enthält.
Berichtsbeispiel:
Durch Klicken in die Zelle
Standort der Nachricht können Sie zur entsprechenden Codezeile wechseln:
Durch Klicken auf die Diagnosenummer in der Spalte
Code wird die Dokumentation geöffnet, die diese Diagnose beschreibt.
Unterdrückung der Analysatorantwort
Bei der Überprüfung des Codes mit einem statischen Analysegerät sind Fehlalarme oder einfach unerwünschte Meldungen (Rauschen) möglich. PVS-Studio bietet Mechanismen zur Unterdrückung solcher Warnungen. Um Alarme einzeln zu unterdrücken, können Sie eine der im Dokumentationsabschnitt "
Unterdrücken von Fehlalarmen " beschriebenen Methoden verwenden.
Bei der Analyse von altem Code kann es auch erforderlich sein, alle Nachrichten massiv zu unterdrücken. Dies ist in der Regel erforderlich, um nur den Code zu überprüfen, der der vorhandenen Codebasis hinzugefügt wird. Hierzu wird der
Unterdrückungsparameter des
Dienstprogramms pvs-studio-analyzer verwendet .
Mit dem folgenden Befehl können Sie Nachrichten in einem Bericht in großen Mengen unterdrücken:
pvs-studio-analyzer suppress /path/to/report.log
Informationen zu unterdrückten Nachrichten werden in der Datei
suppr_base.json gespeichert, die sich neben dem Projekt befindet. Solche Meldungen werden bei nachfolgenden Inspektionen aus dem Bericht ausgeschlossen.
Dieser Mechanismus wird in der Dokumentation
hier ausführlicher beschrieben.
Fazit
Dies war eine kurze Einführung in die Verwendung des PVS-Studio-Analysators für Linux. Ich hoffe es war nützlich und beantwortete die am häufigsten gestellten Fragen. Weitere Informationen zum Thema des Artikels finden Sie in der Dokumentation
hier .

Wenn Sie diesen Artikel einem englischsprachigen Publikum zugänglich machen möchten, verwenden Sie bitte den Link zur Übersetzung: Yuri Minaev.
Erste Schritte mit dem PVS-Studio Static Analyzer für die C ++ - Entwicklung unter Linux .