
In diesem Artikel erfahren Sie, wie Sie die Analyse eines eingebetteten Projekts starten und wie Sie mit dem Bericht des Analysators arbeiten. Der PVS-Studio-Analysator unterstützt eine Reihe von Compilern für eingebettete Systeme. Die aktuelle Version ermöglicht das Überprüfen von Projekten, die mit einem der folgenden Compiler unter Windows, Linux und macOS erstellt wurden:
Installation
Der Installationsvorgang hängt vom Betriebssystem ab, das Sie in der Entwicklung verwenden. Unter Linux können Sie den Analyzer entweder aus dem Repository oder aus dem Installationspaket installieren.
Zum Beispiel auf einem Debian-basierten System:
wget -q -O - https:
oder
sudo gdebi pvs-studio-VERSION.deb
Unter macOS können Sie
Homebrew zum Installieren und Aktualisieren verwenden:
brew install viva64/pvs-studio/pvs-studio brew upgrade pvs-studio
Eine weitere Option - Installation aus dem
dmg- Paket oder manuelles Entpacken aus dem Archiv.
Unter Windows müssen Sie das Installationsprogramm verwenden:
Sie können Installationspakete für jedes unterstützte System
herunterladen und bei Bedarf auf der Seite "
PVS-Studio herunterladen und evaluieren" einen Testschlüssel anfordern.
Nach Abschluss der Installation müssen Sie den Lizenzschlüssel eingeben. Der Dokumentationsartikel "
So geben Sie die PVS-Studio-Lizenz ein und wie geht es weiter? " Beschreibt diesen Vorgang ausführlich in Bezug auf verschiedene Plattformen.
Überprüfen Sie Ihr Projekt
Das Überprüfen von Projekten, die für eingebettete Systeme erstellt wurden, ähnelt dem Überprüfen von Projekten, die für Windows, Linux oder macOS entwickelt wurden.
Unter Linux verfügbare Optionen werden im Artikel "
Erste Schritte mit dem PVS-Studio Static Analyzer für die C ++ - Entwicklung unter Linux " beschrieben. Beachten Sie, dass eingebettete Projekte übergreifend kompiliert werden und Ihr Compiler einen nicht standardmäßigen Namen haben kann. Aus diesem Grund müssen Sie es möglicherweise beim Starten der Analyse angeben, was Sie über die
Befehlszeilentaste –compiler oder
–c tun können.
pvs-studio-analyzer analyze -c MyCompiler
Die Verwendung ist erforderlich, wenn der Analysator den Compilertyp nicht erkennen kann, dh wenn der Fehler "Keine Kompilierungseinheiten gefunden" ausgegeben wird.
Da sich die Zielplattform aufgrund der
Kreuzkompilierung von der Entwicklungsplattform unterscheidet, müssen Sie wahrscheinlich auch die Zielplattform über den Schlüssel
--platform zusammen mit dem Präprozessortyp (
--preprocessor )
angeben .
Unterstützte Plattformen:
win32, x64, linux32, linux64, macos, arm.Unterstützte Vorgänger:
gcc, clang, keil.Unter Linux sind die
Linux64- Plattform und der
gcc- Präprozessor die
Standardeinstellungen .
Wenn Sie Windows verwenden, können Sie Ihr Projekt im Compiler-Überwachungsmodus überprüfen. Verwenden Sie dazu das Dienstprogramm "
C- und C ++ - Compiler-Überwachungs-Benutzeroberfläche ", das mit dem Analysator geliefert wird. Um die Überwachung zu starten, gehen Sie zum Menü Extras und wählen
Sie Dateien analysieren ... Dieser Dialog wird geöffnet:
Klicken Sie auf die Schaltfläche "
Überwachung starten " und beginnen Sie mit der
Erstellung Ihres Projekts. Wenn der Build abgeschlossen ist, klicken
Sie im Dialogfenster in der unteren rechten Ecke des Bildschirms auf die Schaltfläche "
Überwachung beenden":
Im Hauptfenster des Dienstprogramms "
C- und C ++ - Compiler-Überwachung " können Sie die Analyseergebnisse anzeigen.
Sie können die Analyse auch über die Befehlszeile mit dem Dienstprogramm CLMonitor starten. Hier ist der Befehl, der die Überwachung einleitet:
CLMonitor.exe monitor
Starten Sie es nach dem Build erneut im Analysemodus:
CLMonitor.exe analyze -l "<path>\out.plog"
Der Analysator überprüft Ihr Projekt und speichert die Ergebnisse in der mit der Taste
-l angegebenen Datei.
Siehe auch "
Compiler Monitoring System in PVS-Studio ".
Arbeiten mit Berichten
Um den Bericht unter Linux anzuzeigen, müssen Sie die vom Analysator generierte Protokolldatei in eines der unterstützten Formate konvertieren. Verwenden Sie dazu das
Dienstprogramm plog-converter . Mit diesem Befehl können Sie beispielsweise einen HTML-Bericht erstellen, mit dem Sie den Quellcode anzeigen können:
plog-converter -a GA:1,2 -t fullhtml /path/project.log -o /path/report_dir
Die Berichtskonvertierung wird ausführlicher im Artikel "
Erste Schritte mit dem PVS-Studio Static Analyzer für die C ++ - Entwicklung unter Linux " beschrieben.
Die Windows-Version verfügt außerdem über ein Dienstprogramm namens
PlogConverter , das in seiner Verwendung dem Linux-Gegenstück ähnelt:
PlogConverter.exe <path>\out.plog --renderTypes= FullHtml --analyzer=GA:1,2
oder
PlogConverter.exe D:\Projct\out.plog -t FullHtml -a GA:1,2
Sie können Berichte auch im
Plog- Format mit dem
Dienstprogramm "
C und C ++ Compiler Monitoring UI " über den
Menübefehl Datei-> PVS-Studio-Protokoll öffnen ... anzeigen .
Beispiel:
Bei Bedarf können Sie den Bericht über das Menü
Datei des Dienstprogramms in eines der unterstützten Formate exportieren.
Misra-Codierungsstandard
PVS-Studio klassifiziert seine Warnungen nach
CWE und
SEI CERT , was für statische Sicherheitstests (
SAST ) regulärer Apps recht gut
geeignet ist . Für eingebettete Systeme gelten jedoch unterschiedliche Sicherheitsanforderungen, die durch einen speziell entwickelten
MISRA- Standard abgedeckt werden. Die aktuelle PVS-Studio-Version unterstützt teilweise MISRA C und MISRA C ++. Die regelmäßig wachsende Liste der unterstützten Regeln finden Sie
hier .
Die Verwendung von MISRA-Regeln beim Überprüfen nicht eingebetteter Projekte ist aufgrund der Besonderheiten des Standards normalerweise eine schlechte Idee. In den meisten Fällen würde die Überprüfung, wenn der Code ursprünglich nicht MISRA-orientiert war, zu vielen Fehlalarmen und allgemein zu Rauschwarnungen führen. Daher sind die MISRA-Regeln standardmäßig deaktiviert.
Um MISRA unter Linux zu aktivieren, führen Sie die Analyse mit der Taste
-a aus und übergeben Sie einen numerischen Parameter entsprechend dem gewünschten Modus. Dieser Parameter ist eine Kombination von Bitfeldern:
-a [MODE], --analysis-mode [MODE] MODE defines the type of warnings: 1 - 64-bit errors; 2 - reserved; 4 - General Analysis; 8 - Micro-optimizations; 16 - Customers Specific Requests; 32 - MISRA. Modes can be combined by adding the values Default: 4
Beispiel (mit aktivierten GA- und MISRA-Regeln):
pvs-studio-analyzer analyze -a 36 -o /path/report.log
Außerdem müssen Sie
plog-converter anweisen , MISRA-Warnungen in den resultierenden Bericht aufzunehmen:
plog-converter -a MISRA:1,2,3 -m misra ....
Unter Windows können Sie die Einstellungen des Dienstprogramms "
C- und C ++ - Compiler-Überwachung " verwenden:
Weitere Informationen zur MISRA-Unterstützung finden Sie im Artikel "
PVS-Studio: Unterstützung von MISRA C- und MISRA C ++ - Codierungsstandards ".
Fazit
In diesem Artikel haben wir kurz die Funktionen des PVS-Studio-Analysators zum Überprüfen eingebetteter Projekte erläutert. Wenn Sie weitere Informationen zur Verwendung des Analysegeräts benötigen, empfehlen wir Ihnen, die folgenden Artikel zu lesen: