So testen Sie die Codeabdeckung mit dem Befehl Linux GCOV

So testen Sie die Codeabdeckung mit dem Befehl Linux GCOV
Im Rahmen des Testens der Leistung Ihres Codes bringt der Befehl GCOV Ihre Codeoptimierung auf die nächste Ebene, indem Sie die Abdeckung überprüfen können. Der GCOV zeigt bei Ausführung in einem Programm einen Bericht an. Sie können einen Prozentsatz Ihrer Codeabdeckung anzeigen. Auf diese Weise können Sie die Leistung Ihres Programms verbessern.

Diese Anleitung deckt ein Beispiel ab, in dem ein C -Programm seine Codeabdeckung mit dem Befehl gCOV Linux überprüft.

So verwenden Sie den GCOV -Befehl unter Linux

Ein GCOV -Befehl ist ein hilfreiches Tool, insbesondere für Entwickler, und er bietet verschiedene Vorteile, darunter:

  • Optimierung der Codeleistung
  • Ändern der Teile des Codes verlangsamen die Programme
  • Überprüfen Sie, ob das Programm Speicherlecks verursacht
  • Überprüfen Sie, ob das Programm die Funktionen korrekt aufruft

Der Befehl GCOV wird mit den mit den ausgeführten Dateien verwendet, die mit verwendet werden G ++ oder GCC. Daher funktioniert der Befehl am besten mit C oder c++ Programme. Das Programm wird mit bestimmten Flags zusammengestellt, damit GCOV Abdeckungsdaten sammeln kann. Nach der Kompilierung werden verschiedene Dateien generiert, die die Notizendateien enthalten.

Von dort aus führen Sie den Befehl gCOV mit der ausführbaren Datei aus, um den Bericht über die Datenabdeckung zu erhalten.

Zum Beispiel werden wir ein C -Programm verwenden, das die durch bestimmten Zahlen in einem bestimmten Bereich teilbare Zahlen überprüft und druckt. Standardmäßig ist der Befehl gCOV vorinstalliert. Um Ihr Programm zu kompilieren, verwenden Sie die unten stehende Syntax und ersetzen Sie den Dateinamen so, dass er mit Ihrem übereinstimmt. In diesem Beispiel ist unsere Datei GCOV-Test1.C Wie nachfolgend dargestellt:

$ GCC -WALL -FROFILE -ARCS -FTST -GCOV -Test.C

Sobald Sie Ihren Code kompilieren, sollten Sie verschiedene Ausgänge wie im vorherigen Bild erhalten. Das Kompilieren des Codes erstellt eine instrumentierte ausführbare Datei, mit der GCOV die verwendeten Codezeilen berechnen kann. Der -Fest-Deckung Ermöglicht GCOV, die ausgeführten Codezeilen zu berechnen. Andererseits die -Fprofile-Arcs Enthält andere Bedingungen, und Sie können die instrumentierte ausführbare Datei ausführen, wie mit dem folgenden Befehl gezeigt. Unser ausführbares Instrument ist das A.aus Datei, aber wenn Sie beim Kompilieren des Code eine Ausgabedatei angegeben haben, haben Sie eine andere instrumentierte Datei.

$ ./A.aus

Der Befehl führt das Programm aus und gibt die erwartete Ausgabe an, die in unserem Fall die teilbaren Zahlen innerhalb des festgelegten Intervalls auflisten soll.

Sobald der Code ausgeführt wird, ist das nächste, die Codeabdeckung mit dem Befehl gCOV Linux zu überprüfen. Vorher werden Sie mehr erstellte Dateien feststellen. Sie enthalten die Notizdateien, auf die GCOV angewiesen ist, um den Bericht zu generieren.

Hier müssen Sie den Namen des Programms als Argument zu GCOV im folgenden Befehl hinzufügen:

$ gcov gcov-test1.C

Unsere Ausgabe wird sein:

Beachten Sie, dass alle Zeilen in unserem Code ausgeführt wurden, was bedeutet, dass unser Code gut optimiert ist. Darüber hinaus eine neue Datei GCOV-Test1.C.GCOV wurde geschaffen. Es enthält die Häufigkeit, mit der jede Zeile in unserem Programm ausgeführt wurde, wie im Bild unten gezeigt. Jede nicht ausgeführte Zeile würde das ###### vor sich haben, und die Nummer links zeigt die Zeiten, in denen die einzelnen Zeile ausgeführt wurde. Mit diesen Details können Sie die Änderungen ermitteln, die zur Optimierung Ihres Programms vorgenommen und schneller ausgeführt werden können.

Wenn Zeilen mit einem Debugger nicht ausgeführt werden, können Sie das beheben. Ziel ist es, sicherzustellen, dass alle Leitungen ausgestellt werden, um 100% zu erreichen und den Code schneller laufen zu lassen.

Abschluss

Dieser Artikel behandelt die Überprüfung Ihrer Codeabdeckung mit dem Befehl GCOV Linux. Bei der Codierung von Programmen schreiben wir mehrere Zeilen, aber nicht alle wurden ausgeführt. Daher ist es notwendig zu wissen, welche Zeilen ausführen und welche, die nicht. Die Informationen helfen dabei, die nicht ausgeführten Zeilen zu beheben oder zu entfernen, wodurch der Code schneller wird und eine gute Möglichkeit ist, Ihr Programm zu optimieren.