
PVS-Studio unterstützt die Analyse von Projekten, die in C, C ++, C # und Java entwickelt wurden. Sie können den Analysator unter Windows, Linux und macOS verwenden. In diesem kleinen Artikel erfahren Sie, wie Sie C- und C ++ - Code in einer Linux-Umgebung analysieren.
Installation
Je nach Distributionstyp gibt es verschiedene Möglichkeiten, PVS-Studio unter Linux zu installieren. Die bequemste und bevorzugte Methode ist die Verwendung des Repositorys, da der Analysator beim Freigeben neuer Versionen automatisch aktualisiert werden kann. Eine andere Möglichkeit ist die Verwendung des Installationspakets, das Sie
hier erhalten .
Die Installationsbefehle unterscheiden sich je nach verwendeter Linux-Distribution. So sieht beispielsweise die Installation aus dem Repository unter Debian-basierten Systemen aus:
wget -q -O - https:
Um PVS-Studio aus dem herunterladbaren Paket zu installieren, können Sie das Dienstprogramm
gdebi verwenden :
sudo gdebi pvs-studio-VERSION.deb
Der Installationsprozess wird im Dokumentationsabschnitt "
Installieren und Aktualisieren von PVS-Studio unter Linux " ausführlicher beschrieben. Dort finden Sie auch Informationen zu Nicht-Debian-Systemen.
Nach der Installation von PVS-Studio müssen Sie Lizenzdaten eingeben. Hier ist der Befehl dafür:
pvs-studio-analyzer credentials NAME KEY [-o LIC-FILE]
NAME und
KEY sind der registrierte Benutzername bzw. der Lizenzschlüssel. Mit dem optionalen Parameter
–o können Sie den Speicherort angeben, an dem eine Lizenzdatei generiert wird. Standardmäßig wird es im
Verzeichnis ~ / .config / PVS-Studio / gespeichert.
Wenn Sie einen Testschlüssel benötigen, können Sie diesen auf der Seite "
PVS-Studio herunterladen und auswerten "
herunterladen .
Überprüfen Sie Ihr Projekt
Sobald Sie den Analysator installiert haben, können Sie Projekte überprüfen. Es gibt zwei Möglichkeiten, dies zu tun:
- Zusammenstellungsüberwachung.
- Wird direkt von Build-Systemen ausgeführt.
Sprechen wir über den ersten Weg. Um die Überwachung unter Linux zu starten, benötigen Sie das Dienstprogramm
strace . PVS-Studio verwendet es, um eine Liste und Parameter von Prozessen zu erfassen, die während des Builds gestartet wurden.
Verwenden Sie den folgenden Befehl, um den Build zu starten:
pvs-studio-analyzer trace -- make
Hier wird
make verwendet, aber jeder andere Befehl, den Sie zum Erstellen Ihres Projekts ausführen, kann an seiner Stelle stehen. Bei Bedarf können Sie Befehlszeilenparameter auf die übliche Weise übergeben.
Nach dem Build erstellt
strace eine Datei, mit der der Analysator den Quellcode überprüft. Verwenden Sie den folgenden Befehl, um die Analyse zu starten.
pvs-studio-analyzer analyze -o /path/to/project.log
Als Ergebnis wird eine verschlüsselte Protokolldatei generiert, die Sie in eines der unterstützten Formate konvertieren können. Wir werden später über die Arbeit mit Berichten sprechen.
Neben
strace können Sie die Analyse auf die Datei
compile_commands.json (JSON Compilation Database)
stützen . In vielen Build-Systemen sind Kompilierungsbefehle integriert, oder Sie können dazu das Dienstprogramm
BEAR verwenden. Hier ist der Befehl zum Starten der Analyse in diesem Fall:
pvs-studio-analyzer analyze –f /path/to/compile_commands.json
Beachten Sie, dass der Analysator den im Erstellungsprozess verwendeten Compiler an seinem ausführbaren Namen erkennt. Wenn beim Versuch, Ihr Projekt zu analysieren, der Fehler "Keine Kompilierungseinheiten gefunden"
angezeigt wird , geben Sie den Namen Ihres Compilers explizit über die
Befehlszeilentaste –compiler oder
–c an :
pvs-studio-analyzer analyze -c MyCompiler
Dies ist möglicherweise erforderlich, wenn Sie Cross-Compilation verwenden oder wenn Ihr Compiler einen nicht standardmäßigen ausführbaren Namen hat.
Neben dem Überwachungsmodus können Sie den Analysator direkt in Ihr Build-System oder Ihre IDE integrieren. Unser offizielles
GitHub- Repository bietet Beispielprojekte, bei denen die Integration bereits konfiguriert wurde:
Weitere Informationen zum Ausführen des Analysators unter Linux finden Sie in der
Dokumentation .
Arbeiten mit Berichten
Nach der Überprüfung eines Projekts erstellt der Analysator einen codierten Bericht. Um es in eines der unterstützten Formate zu konvertieren, müssen Sie das
Dienstprogramm plog-converter verwenden , das mit der PVS-Studio-Installation
geliefert wird .
Hier ist eine Liste der unterstützten Formate:
- xml - ein praktisches Format für die weitere Verarbeitung der Analyseergebnisse, das vom Plugin für SonarQube unterstützt wird ;
- csv - Datei speichert tabellarische Daten (Zahlen und Text) im Klartext;
- errorfile ist das Ausgabeformat von gcc und clang.
- Aufgabenliste - ein Fehlerformat, das in QtCreator geöffnet werden kann;
- HTML - HTML-Bericht mit einer kurzen Beschreibung der Analyseergebnisse;
- fullhtml - Bericht mit Sortierung der Analyseergebnisse nach den verschiedenen Parametern und Navigation entlang des Quellcodes.
Das Fullhtml-Format ist das bequemste zum Anzeigen des Berichts, da es das Springen zur Codezeile ermöglicht, die der Warnung entspricht, an der Sie interessiert sind. Mit dem folgenden Befehl können Sie den Bericht in dieses Format konvertieren:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
Wenn Sie es starten, enthält ein neu erstelltes Verzeichnis mit dem Namen
/ path / report_dir alle Berichtsdateien.
Achten Sie auf den Parameter
-a . Hier können Sie festlegen, welche Warnungen im resultierenden Bericht angezeigt werden sollen. Dies ist praktisch, wenn Sie die Ausgabe des Analysators filtern müssen. Mit dem obigen Befehl wird ein Bericht erstellt, der nur allgemeine Analysemeldungen der ersten und zweiten Sicherheitsstufe (
Hoch und
Mittel ) enthält.
Ein Beispielbericht:
Durch Klicken in die
Standortzelle einer Nachricht können Sie zur entsprechenden Codezeile springen:
Durch Klicken auf den Diagnosecode in der Spalte
Code können Sie die Dokumentation zu dieser Diagnose öffnen.
Warnungen des Analysators unterdrücken
Wenn Sie einen statischen Analysator zur Überprüfung des Quellcodes verwenden, erhalten Sie möglicherweise falsch positive Ergebnisse oder einfach unerwünschte Rauschwarnungen. PVS-Studio hat Mittel, um solche Nachrichten zu unterdrücken. Um auf einzelne Warnungen abzuzielen, können Sie eine der Methoden verwenden, die im Dokumentationsartikel "
Unterdrückung von Fehlalarmen " beschrieben sind.
Wenn Sie alten Code überprüfen, möchten Sie möglicherweise alle Warnungen unterdrücken. In der Regel benötigen Sie dies möglicherweise, wenn Sie nur neuen Code überprüfen möchten, den Sie einer vorhandenen Codebasis hinzufügen. Verwenden Sie dazu den
Unterdrückungsparameter des
Dienstprogramms pvs-studio-analyzer .
Mit diesem Befehl können Sie Warnungen in einem Bericht massenweise unterdrücken:
pvs-studio-analyzer suppress /path/to/report.log
Informationen zu unterdrückten Warnungen werden in einer Datei mit dem Namen
suppr__base.json gespeichert, die sich neben dem Projekt befindet. Solche Nachrichten werden von Berichten über nachfolgende Überprüfungen ausgeschlossen.
Dieser Mechanismus wird
hier ausführlich beschrieben.
Fazit
Dies war eine kurze Einführung in die Verwendung von PVS-Studio unter Linux. Ich hoffe, es war nützlich und hat es geschafft, die häufigsten Fragen zu beantworten. Wenn Sie weitere Informationen zum Thema dieses Artikels benötigen, lesen Sie die Dokumentation
hier .