Biblioteki C++
Poruszanie się po callstacku i przełączanie się między wątkami
[lekcja] Rozdział 6. Niniejszy rozdział przedstawia w jaki sposób poruszać się po stosie wywołań metod i funkcji w debuggerze GDB.Wyświetlanie listy ramek stosu
Jak już zapewne wiesz z jednego ze wcześniejszych rozdziałów, listę ramek odłożonych na stosie dla bieżącego wątku wyświetla się za pomocą polecenia
backtrace. Przykład:
(gdb) backtrace
Przełączanie się do określonej ramki stosu
Do przełączania się do konkretnej ramki stosu służy polecenie
frame numer_ramki.Przykład:
(gdb) frame 1
Przechodzenie do wcześniejszej ramki stosu
Jeżeli chcesz przełączyć się do wcześniejszej ramki stosu (tj. przejść do miejsca w kodzie z którego wywołano funkcję lub metodę) to skorzystaj wówczaz z polecenia
up. Przykład:
(gdb) up
Przechodzenie do późniejszej ramki stosu
Jeżeli chcesz przełączyć się do późniejszej ramki stosu (tj. wejść do środka funkcji jaka została wywołana w bieżącej funkcji) to skorzystaj z polecenia
down. Przykład:
(gdb) down
Wyświetlanie listy wątków
Aby wyświetlić listę aktualnie uruchomionych wątków aplikacji należy użyć polecenia
info threads. Przykład:
info threads
Przełączanie się między wątkami
Aby przełączyć się na stos ramek należący do innego wątku, należy użyć polecenia
thread numer_wątku. Przykład:
(gdb) thread 1
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.