Vor nicht allzu langer Zeit fand ein bedeutendes Ereignis statt: PVS-Studio erschien im Compiler Explorer! Jetzt können Sie Ihren Code direkt auf godbolt.org (Compiler Explorer) schnell und einfach auf Fehler analysieren. Diese Innovation eröffnet eine Vielzahl neuer Möglichkeiten - von der Befriedigung der Neugier über die Fähigkeiten des Analysators bis zur Möglichkeit, das Testergebnis schnell mit einem Freund zu teilen. Wie Sie diese Möglichkeiten nutzen können, erfahren Sie in diesem Artikel. Achtung - große GIFs!
Wenn Sie direkt auf den Punkt kommen und den Code hier und jetzt analysieren möchten, finden Sie hier einen vollständig gebrauchsfertigen Link . Ich empfehle, es zu Ihren Lesezeichen hinzuzufügen - es wird immer noch nützlich sein;)
Lassen Sie uns nun über alles in der richtigen Reihenfolge sprechen. Der Compiler Explorer ist ein interaktiver Onlinedienst zum Erkunden von Compilern. Hier können Sie Code direkt auf der Site schreiben und sofort sehen, welche Assembly-Ausgabe dieser oder jener Compiler dafür generiert:
Darüber hinaus gibt es auf der Website eine ganze Reihe von Möglichkeiten, und heute werden wir die Möglichkeit einer Analyse mit PVS-Studio in Betracht ziehen. Um die Analyse durchzuführen, müssen Sie Folgendes tun:
- Gehen Sie zur Website godbolt.org ,
- Klicken Sie auf der Registerkarte mit der Compilerausgabe auf "Werkzeug hinzufügen ...".
- Wählen Sie "PVS-Studio" in der Dropdown-Liste.
Ein Beispiel für eine solche Abfolge von Aktionen sehen Sie in der folgenden Animation:
Getan! Im angezeigten Fenster werden nun automatisch alle Warnungen angezeigt, die der Analysator an Ihren Code ausgibt. Sie können sowohl Ihren eigenen handgeschriebenen Code als auch die separat heruntergeladenen Quelldateien analysieren. Natürlich sollten die Dateien in sich geschlossen sein und nicht in Dateien enthalten sein, die nicht Teil der Standardbibliothek sind. Andernfalls wird die Datei weder kompiliert noch überprüft.
Derzeit ist auf der Website eine Analyse mit PVS-Studio für alle Versionen von GCC und Clang für x86- und x64-Plattformen verfügbar. Wir planen, die Funktionen der Site auf andere von uns unterstützte Compiler (z. B. MSVC oder Compiler für ARM) zu erweitern, falls dies erforderlich ist.
Derzeit ist auf der Site nur die allgemeine Diagnose von Fehler-, Warn- und Notizstufen aktiviert. Die anderen Modi (Optimierung, 64-Bit, Benutzerdefiniert und MISRA) haben wir bewusst weggelassen, damit nur die wichtigsten Warnungen in der Ausgabe verbleiben. Im Gegensatz zu PVS-Studio selbst unterstützt der Compiler Explorer C # und Java noch nicht. Wir planen, eine Codeanalyse in diesen Sprachen durchzuführen, sobald sie dort angezeigt werden :) Der
Compiler Explorer verfügt über ein sehr intelligentes Fenstersystem, sodass Sie sie verschieben können oder überlappen sich beispielsweise. Wenn Sie derzeit nicht an der Compilerausgabe interessiert sind, können Sie sie "ausblenden". So:
Sie können entweder Code direkt in das Compiler Explorer-Fenster schreiben oder einzelne Dateien herunterladen. Klicken Sie dazu auf "Speichern / Laden" und wählen Sie auf der sich öffnenden Registerkarte "Dateisystem" aus. Sie können den Code, den Sie auf Ihren Computer schreiben, auch "herunterladen", indem Sie Strg + S drücken.
Sie können nicht ganze Projekte auf der Site analysieren - Sie können Dateien nur separat hochladen.
Wenn Sie die Ausgabe Ihres Programms sehen möchten, können Sie das Ausführungsfenster öffnen, indem Sie im Fenster zum Schreiben von Code auf "Neu hinzufügen ... -> Nur Ausführung" klicken (nicht im Fenster mit dem Compiler). Auf dem GIF unten sehen Sie die Ergebnisse der Laborarbeit auf unserer Seite über die kostenlose Nutzung von PVS-Studio durch Schüler und Lehrer .
Haben Sie übrigens bemerkt, dass Sie beim Klicken auf die Links zu Godbolt einen vorab geschriebenen Code in den vorab festgelegten Fenstern erhalten? Ja, Sie können Permalinks generieren, die den Status der Seite zum Zeitpunkt der Generierung vollständig beibehalten! Dazu müssen Sie auf die Schaltfläche "Teilen" in der oberen rechten Ecke des Bildschirms klicken.
Diese Methode ist sehr praktisch, um die Ergebnisse der Kompilierung / Analyse Ihres Codes mit Freunden und Kollegen zu teilen. Es ist besonders praktisch, dass die empfangende Partei buchstäblich nichts tun muss: Folgen Sie einfach dem Link, und alles, was Sie brauchen, öffnet sich sofort vor Ihren Augen.
Wir planen, diese Gelegenheit zu nutzen, um mit Kunden im technischen Support zusammenzuarbeiten: Oft ist die Verwendung des Compiler-Explorers sehr praktisch, um minimal reproduzierbare Beispiele zu kompilieren, die schnell aufgenommen und per Post gesendet werden können.
In der Dropdown-Registerkarte "Freigeben" befindet sich außerdem ein Element zum Erstellen eines eingebetteten Links, mit dem Sie ein Fenster mit dem Compiler-Explorer auf einer anderen Site einbetten können.
Der Compiler Explorer enthält immer eine aktuelle Version von PVS-Studio, daher können nach jeder unserer Versionen immer mehr Fehler auf der Site gefunden werden. Die Verwendung von PVS-Studio auf godbolt.org vermittelt jedoch kein vollständiges Bild seiner Funktionen, da PVS-Studio nicht nur eine Diagnose, sondern auch eine entwickelte Infrastruktur darstellt:
- Codeanalyse in C-, C ++ -, C # - und Java-Sprachen für eine viel größere Anzahl von Plattformen und Compilern;
- Plugins für Visual Studio 2010-2019, JetBrains Rider, IntelliJ IDEA;
- Integration in TeamCity, PlatformIO, Azure DevOps, Travis CI, CircleCI, GitLab CI / CD, Jenkins, SonarQube usw.
- Kompilierungsüberwachungsprogramm zur Analyse unabhängig von IDE oder Build-System;
- Und viele, viele andere.
Am Ende können Sie erst nach dem Herunterladen des Analysators ein Projekt, das aus mehreren Dateien besteht, vollständig analysieren. Der beste Weg, um ein korrektes Verständnis von PVS-Studio zu erlangen, besteht darin, den Analysator herunterzuladen und in Ihrem Projekt auszuprobieren.
Um auf dem Laufenden zu bleiben, folgen Sie unseren Neuigkeiten. Lesen Sie auch unseren Blog : Dort veröffentlichen wir nicht nur Nachrichten und Artikel über das Auffinden von Fehlern in realen Projekten, sondern auch verschiedene interessante Punkte in Bezug auf C, C ++, C # und Java.
Unsere sozialen Netzwerke:
- Twitter - @pvsstudio_rus
- Vkontakte - PVS-Studio Analysator
- Facebook - @StaticCodeAnalyzer
- Telegramm - PVS-Studio rus
Wenn Sie diesen Artikel einem englischsprachigen Publikum zugänglich machen möchten, verwenden Sie bitte den Übersetzungslink: George Gribkov. PVS-Studio ist jetzt im Compiler Explorer! .