Programowanie aplikacji współbieżnych i rozproszonych w systemie Linux 15
Witam u pierwszym programie
Process returned 0 (0x0) execution time : 0,005 s Press ENTER to continue.
I
Przykład 3-10 Okno vvyników: programu 3.2.1 Debugowanie programów w środowisku CodcBlocks
Każdy programista, czy to początkujący' czy zaawansowany doświadczył sytuacji gdy jego program nie zachowuje się zgodnie z oczekiwaniami czego powodem są błędy w programie. Systemy tworzenia oprogramowania oferują wiele narzędzi wspomagających uruchamianie programów. Jednym z najważniejszych są programy uruchomieniowe (ang. debuggers). Pozwalają one na śledzenie wykonywania programu na poziomie kodu źródłowego. Główne mechanizmy które umożliwiają śledzenie to:
• Praca krokowa
• Ustawianie punktów' wstrzymania programu (ang. breakpoints)
• Podgląd zmiennych w programie
Podstawowym narzędziem uruchomieniowym w systemie Linux jest GNU debugger gdb opisany w [7], [12], Jest to jednak skomplikowane narzędzie pracujące w trybie konsolowym. Omawiane środowisko CodeBlocks zawiera Interfejs okienkowy do gdb co znacznie ułatwia z niego korzystanie. Elementarny sposób dcbugowania programów w tym środow isku zostanie pokazany dalej na przykładzie.
Aby utworzyć nowy projekt zawierający przykład postępujemy tak jak w poprzednim rozdziale. Niech nasz projekt nazywa się iter. Kod źródłowy niech będzie jak podaje Przykład 3-11. Program ten ma wypisać na konsoli 10 kolejnych liczb. Ważne aby nie zapomnieć zaznaczyć opcji Debug w oknie wyboru typu projektu (Przykład 3-8). Następnie kompilujemy program wybierając z menu głównego opcję Build tak jak pokazuje Przykład 3-12. Gdy kompilacja będzie już poprawna ustawimy punkt w strzymania programu (ang. breakpoint) w 6 linii kodu tak jak pokazuje Przykład 3-11. Punkt wstrzymania ustawiamy poprzez:
• Ustawienie kursora w linii 6 okna kodu źródłowego
• Naciśnięcie klawisza funkcyjnego F5 lub wybór opcji: Debug / Toggle brakpoint z menu głównego jak pokazuje Przykład 3-13.
Nowy punkt wstrzymania uwidoczni się poprzez znacznik kółka w linii 6 kodu źródłowego jak w idać to w Przykład 3-11. Następnie uruchamiamy program wybierając opcję Debug / Start z menu głównego lub naciskając klawisz funkcyjny F8. Program zatrzymuje się na linii 6 kodu. Bieżąca linia kodu wskazywana jest poprzez trójkąt pojawiający się po numerze linii tak jak pokazuje Przykład 3-14. Następnie klikając w ikonę Program C ... w dolnej części panelu możemy wyświetlić okno konsoli programu i zaobserwować działanie instrukcji printf tak jak pokazuje Przykład 3-14. Aby wykonać kolejne instrukcje naciskamy kilkakrotnie klawisz funkcyjny F7 (lub wybieramy opcję Debug / Next linę) i dochodzimy do instrukcji 13 co pokazuje Przykład 3-15. Będąc w tym stanie można sprawdzić aktualne wartości zmiennych programowych. Dokonujemy tego klikając w opcję Debug / Debugging Windows / Watches.
Jędrzej UŁASIEWICZ - Instytut Informatyki. Automatyki i Roboty ki Politechniki Wrocławskiej