Temat: Zaawansowane opcje debuggera
Znajomość bardziej zaawansowanych opcji, może dodatkowo zaoszczędzić nam czas podczas debugowania.
Run to cursor
Uruchomiliśmy w trybie debugowania prosty program i w danej chwili nasz kursor znajduje się na pierwszej pętli for:
Załóżmy, że nie chcemy przechodzić przez wszystkie iteracje tej pętli (czasem może ich być sporo), tylko chcielibyśmy od razu przejść do debugowania drugiej pętli.
Moglibyśmy to zrobić wstawiając obok drugiej pętli breakpoint i wciskając przycisk F5 (Continue):
Prostszym sposobem (dodatkowo nie wymagającym późniejszego czyszczenia tego breakpointa) jest kliknięcie prawym przyciskiem myszy w miejscu, do którego chcemy dotrzeć i wybranie opcji "Run To Cursor". Cały kod zostanie wykonany aż do tego miejsca.
Set Next Statement
Opcja ta pozwala nam zmienić kolejność wykonywania programu.
Załóżmy na przykład, że nasz program odczytuje dane z pliku.
Po długiej interakcji z programem (wybór opcji z menu, wpisanie nazwy pliku...) stwierdzamy podczas debugowania, że pliku nie udało się otworzyć - program wszedł od razu w warunek wyświetlający komunikat o błędzie:
Szybko zauważamy, że powód jest banalny - zapomnieliśmy umieścić plik we właściwym katalogu.
Naprawiamy ten błąd, wgrywając plik we właściwe miejsce.
Aby nie trzeba było zatrzymywać działania programu, uruchamiać go od nowa i raz jeszcze przechodzić całej procedury interakcji z programem (wybór z menu, wpisywanie nazwy), możemy kliknąć prawym przyciskiem myszy na linii kodu, do której chcielibyśmy wrócić i wybrać polecenie "Set Next Statement".
Kursor debuggera zostanie przestawiony w to miejsce i będziemy mieć możliwość ponownego przejścia przez ten fragment kodu.
Edycja kodu w trakcie działania programu
Załóżmy, że debugujemy prosty program:
Podczas debugowania zdajemy sobie sprawę, że w pętli for, która właśnie ma zacząć działanie, chodziło nam tak naprawdę o zwiększenie elementów tablicy o 3, a nie o 2.
Aby to poprawić, nie musimy wyłączać programu, możemy zmienić kod od razu i kontynuować debugowanie - każdy element tablicy zostanie zwiększony o 3.
Edycja wartości zmiennej w trakcie działania programu
Jeżeli w trakcie debugowania programu zauważymy, że któraś z naszych zmiennych przyjmuje nieprawidłową wartość, a chcemy sprawdzić pozostałą część kodu, możemy zmienić wartość tej zmiennej klikając w nią dwukrotnie w oknie Locals, Watch lub w okienku, które pojawia się po najechaniu na jej nazwę.