|
¦ledzenie i testowanie aplikacji
Unikanie błędów podczas pisania programu jest niemożliwe. Stoi za tym wiele przyczyn. Jedna przyczyna to błędy popełniane przez programistę. Te z kolei dzielą się na:
- syntaktyczne (instrukcje niezgodne ze składnią języka)
- konstrukcyjne (podczas procesu tworzenia aplikacji)
- semantyczne (użycie nielogicznej składni, np. inicjacja zmiennych, zazwyczaj niewykrywane przez kompilator)
- algorytmiczne (niewłaściwie założona koncepcja)
- kontekstowe (powodują generowanie błędnych wyników na skutek Ľle przekazanych zmiennych)
- bilansowania (nieuwzględnienie zasobów aplikacji czy systemu operacyjnego)
- interfejsu (brak współpracy między aplikacjami bądĽ poszczególnymi modułami aplikacji)
- efekty uboczne (przecieki pamięci, dostęp do współużytkowanych plików).
Gdy nad projektem pracuje zespół programistów, brak dobrego menedżera projektów może spowodować że poszczególne moduły nie będą ze sobą współpracować.
W Builderze z pomocą przychodzi nam zintegrowany debugger. Jest on używany nie tylko do wychwycenia błędów programu, pozwala także podglądnąć zmienne (nawet w kilku wątkach jednocześnie), wstrzymać program w reakcji np. na załadowanie biblioteki, jest używany do pracy krokowej. W przypadku gdy program jest dość rozbudowany, trudno ogarnąć umysłem jego algorytm pracy. I tu należy korzystać z debuggera.
Aby wykonywanie programu zostało zatrzymane w wybranym przez nas miejscu (czyt. linii kodu) należy kilknąć dwukrotnie w oknie edytora, wtedy pojawi się w tym miejscu czerwona kropka. Następnie należy wcisnąć F9, po wywołaniu obsługi tego zdarzenia (tej funkcji) program zostanie przerwany. Dwukrotnym kilknięciem usuwamy też breakpointa.
Przykład void __fastcall TForm1::Button1Click(TObject *Sender) { for(int i=0;i<10;i++) //w tej linii należy kliknąć dwukrotnie, { //pojawi się czerwona kropeczka Label1->Caption = IntToStr(i); } } |
Zatrzymamy wykonywanie programu, gdy ten wejdzie do pętli for. Zawsze należy najechać kursorem na linię w której będzie breakpoint.
A co jeśli chcę zatrzymać program też w pętli for, ale np. przy warunku i=5 ? Ano tak: 1. Przechodzimy do menu Run->Add Breakpoint
2. Podmenu Source Breakpoint 3. Pole Condition: wpisujemy interesujący nas warunek.
A to już obraz po zatrzymaniu programu w pętli for dla warunku i=5. W przypadku długiego kodu funkcji, warto zamiast wciskania od razu F9 przejśćdo pracy krokowej (ang.Step Over) poprzez wciśnięcie F8. Wtedy instrukcje będą wykonywane linijka po linijce.
Aby podejrzeć wartość zmiennej podczas działania programu należy przejść do menu Run->Add Watch i w oknie Watch Properties wpisać nazwę żądanej zmiennej.
|