Jak testować pokrycie kodu za pomocą polecenia Linux GCOV

Jak testować pokrycie kodu za pomocą polecenia Linux GCOV
W ramach testowania wydajności kodu polecenie GCOV przenosi optymalizację kodu na wyższy poziom, umożliwiając sprawdzenie pokrycia. GCOV, po wykonaniu w programie, wyświetla raport pokazujący, które sekcje kodu są wykonywane, a które nie są. Możesz zobaczyć procent zasięgu kodu. W ten sposób możesz poprawić wydajność swojego programu.

Niniejszy przewodnik obejmuje przykład, w którym program C sprawdza zasięg kodu za pomocą polecenia GCOV Linux.

Jak używać polecenia GCOV w Linux

Polecenie GCOV jest pomocnym narzędziem, szczególnie dla programistów, i oferuje różne korzyści, w tym:

  • Optymalizacja wydajności kodu
  • Zmiana, które części kodu spowalniają programy
  • Sprawdzanie, czy program powoduje wycieki pamięci
  • Sprawdzanie, czy program poprawnie wywołuje funkcje

Polecenie GCOV jest używane z wykonanymi plikami opracowanymi za pomocą za pomocą G ++ lub GCC. Dlatego polecenie działa najlepiej z C lub c++ programy. Program jest kompilowany z określonymi flagami, aby umożliwić GCOV zebranie danych dotyczących zasięgu. Po skompilowaniu różne pliki generowane są zawierające pliki Uwagi.

Stamtąd uruchamiasz polecenie GCOV z plikiem wykonywalnym, aby uzyskać raport z pokrycia danych.

Na przykład użyjemy programu C, który sprawdza i drukuje liczby podzielne według określonych liczb w danym zakresie. Domyślnie polecenie GCOV jest wstępnie zainstalowane. Aby skompilować program, użyj poniższej składni i zastąp nazwę pliku, aby dopasować swoją. W tym przykładzie nasz plik to GCOV-TEST1.C jak pokazano niżej:

$ gcc -Wall -fprofile -arcs -Test -Coverage GCOV -test.C

Po skompilowaniu kodu należy uzyskać różne wyjścia, jak na poprzednim obrazie. Kompilowanie kodu tworzy oprzyrządowany wykonywalny, który pozwala GCOV obliczyć linie używanego kodu. -FTEST Pokrywanie Umożliwia GCOV obliczenie linii wykonanego kodu. Z drugiej strony -Fprofile-arcs zawiera inne warunki i możesz uruchomić instrumentowane wykonywalne, jak pokazano z następującym poleceniem. Naszym instrumentem jest wykonywalny A.na zewnątrz Plik, ale jeśli określiłeś plik wyjściowy podczas kompilacji kodu, będziesz mieć inny plik oprzyrządowany.

$ ./A.na zewnątrz

Polecenie uruchamia program i podaje oczekiwane dane wyjściowe, które w naszym przypadku jest wymienione podzielne liczby w przedziale ustawionym.

Po wykonaniu kodu następną rzeczą jest sprawdzenie pokrycia kodu za pomocą polecenia GCOV Linux. Wcześniej zauważysz więcej utworzonych plików. Zawierają pliki notatek, na których GCOV polega na wygenerowaniu raportu.

Tutaj musisz dodać nazwę programu jako argument do GCOV w następującym poleceniu:

$ GCOV GCOV-TEST1.C

Nasze wyjście będzie:

Zauważ, że wszystkie linie w naszym kodzie zostały wykonane, co oznacza, że ​​nasz kod jest dobrze zoptymalizowany. Ponadto nowy plik GCOV-TEST1.C.GCOV powstał. Zawiera liczbę razy, gdy każda linia w naszym programie została wykonana, jak pokazano na poniższym obrazku. Każda nie wykonana linia miałaby poprzedzającą ######. Korzystając z tych szczegółów, możesz określić zmiany, które można wprowadzić, aby zoptymalizować program i wykonać go szybciej.

Jeśli jakieś linie są wyświetlane jako nie wykonane za pomocą debuggera, możesz to naprawić. Celem jest upewnienie się, że wszystkie linie są wykonywane w celu osiągnięcia 100% i umożliwienie kodu szybciej.

Wniosek

W tym artykule obejmuje sprawdzenie pokrycia kodu za pomocą polecenia GCOV Linux. Podczas kodowania programów piszemy wiele wierszy, ale nie wszystkie są wykonywane. Zatem wiedza, które linie wykonują, a te, które nie są konieczne. Informacje pomagają naprawić lub usunąć te wiersze, które nie są wykonywane, zwiększając kod i jest dobrym sposobem optymalizacji programu.