Wystarczy wpisać GDB w oknie terminalu, aby uzyskać dostęp do GDB systemu operacyjnego na Ubuntu lub w dowolnym systemie operacyjnym Linux lub Unix. Zrzut ekranu poleceń GDB pokazano na następnej ilustracji. Pokazuje szczegóły dotyczące praw autorskich GDB. Otwarta monit GDB wskazuje informacje dotyczące tego, kiedy jest przygotowany do przyjęcia poleceń. W niektórych konfiguracjach GDB, w których system operacyjny umożliwia wątki, te funkcje nie są jeszcze dostępne. Instrukcje te nie mają wpływu na GDB, które nie pozwala na gwintowanie. Na przykład system, w którym brakuje obsługi wątku, ignoruje wynik zapytania „wątków informacyjnych” i konsekwentnie ignoruje instrukcję wątku.
Musisz tylko wpisać polecenie „rzucić” w terminalu GDB, aby wyjść i zakończyć bieżącą sesję GDB. Możesz zobaczyć instrukcję rezygnacji z debugera GDB, jak pokazano następująco:
Debugger GDB wymyślił wiele poleceń debuggera. Oto kilka przykładowych poleceń, które możemy spróbować użyć debugera GDB:
Przykład:
Oto mały kod, który wykorzystuje kilka wątków, tworzy je za pomocą metody pthread_create i przekazuje metody wątków. Przykładowy program ma funkcję main (), która tworzy dwa wątki na następującej ilustracji. Obecnie działają trzy wątki, w tym wątek nadrzędny/oryginalny (). Funkcja main () używa funkcji pthread_create () do tworzenia wątków i wywoływania ich po drugiej.
While pętla jest sprawdzana w następującym kodzie, aby sprawdzić, czy wartość zmiennej Count1 jest mniejsza niż 500. Jeśli tak, instrukcja drukowania jest wykonywana, aby wyświetlić ciąg „Wątek 1 jest uruchomiony” obok zmiennej liczby. Wątek jest połączony natychmiast po użyciu polecenia funkcji pthread_ łączących () w tym kodzie.
Użyj następujących wymienionych poleceń, aby skompilować kod za pomocą kompilatora GCC i wyświetl aktywność wątku za pomocą debugera PKB. Poniższy obraz to zrzut ekranu, który pokazuje, że poprzedni kod został pomyślnie skompilowany:
GCC -G Multitreads.c -o multithreads -lpthread
Podczas korzystania z Ubuntu 20.04 System, wpisz następujące polecenie na ekranie terminalu, aby zobaczyć i zbadać wątek.
$ gdb ./Multitreads
Teraz jesteśmy w trybie debugowania GDB, dzięki oknie terminalu. Aby ustalić punkty przerwania na głównej, użyj wątku druga i trzech procedur każdego nowo uformowanego wątku. Aby wstawić punkt przerwania, używamy następującego kodu wymienionego. To proste polecenie; Po prostu wpisz przerwę. Następnie napisz nazwę metod wątku, aby wstawić punkty przerwania. Ta metoda wyświetla numer linii, w którym punkty przerwania zostały dodane po wejściu.
Aby uruchomić program, użyj słowa kluczowego „Uruchom” lub prostego „R” jako polecenie na ekranie terminalu. Przegląd wątków programu i niektóre informacje o ich obecnym stanie są dostarczane przez wątki informacji o poleceniu, ponieważ należy zwrócić uwagę. Do tej pory rozpoczęła się tylko jeden wątek.
Wykonanie powinno kontynuować korzystanie z następującego polecenia:
W tym miejscu zaczynają się dwa jeszcze wątki. Wątek, który jest obecnie w centrum uwagi, jest oznaczony przez gwiazdę. Dodatkowo osiągnięto zestaw punktów przerwania dla nowo uformowanych wątków w ich metodach inicjalizacji - Wątek dwa () i wątek trzy (), w szczególności. Użyj polecenia, aby przenieść ostrość do innego wątku przed rozpoczęciem debugowania wątku. W wierszu 17 jego funkcji wątku druga, wątek 2 () zatrzymuje.
Zgodnie z wyjściem „wątków informacyjnych” wątek dwa krótko drukuje liczbę liczników 2, a następnie opuszcza wątek 2 w wierszu 17. Podobnie możemy obsługiwać wątek „Thread_three” przy użyciu dość podobnego sposobu, w jaki użyliśmy do Thread_WO.
Wniosek
Podsumowując, w końcu jesteśmy w stanie użyć debugera GDB w naszym Ubuntu 20.04 System Linux. W tym celu wyjaśniliśmy jego użycie w akapicie wprowadzającym i wymieniliśmy niektóre z głównych funkcji, które są nam dostarczone i sprawiają, że jest to unikalny debugger.