Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Fejlfinding Kunsten at finde og rette fejl. DAIMIIntroducerende Objektorienteret Programmering10C.2 Taxonomi  Ingen skriver programmer uden fejl!  Fejl.

Lignende præsentationer


Præsentationer af emnet: "Fejlfinding Kunsten at finde og rette fejl. DAIMIIntroducerende Objektorienteret Programmering10C.2 Taxonomi  Ingen skriver programmer uden fejl!  Fejl."— Præsentationens transcript:

1 Fejlfinding Kunsten at finde og rette fejl

2 DAIMIIntroducerende Objektorienteret Programmering10C.2 Taxonomi  Ingen skriver programmer uden fejl!  Fejl kan klassificeres som:  Compile-time fejl Dvs. vi har skrevet vores program ukorrekt  Run-time fejl Dvs. vores program foretager sig noget ukorrekt  Logiske fejl Dvs. vores program gør noget andet end forventet

3 DAIMIIntroducerende Objektorienteret Programmering10C.3 Compile-time fejl  Compileren/Kawa fortæller disse fejl og angiver linjenummeret  Konsulter evt. syntax-beskrivelserne for Java.  Men husk: En fejl kan skyldes kode før den angivne linje

4 DAIMIIntroducerende Objektorienteret Programmering10C.4 Run-time fejl  Java fortolkeren fanger disse og viser “kaldsstakken”, dvs. hvilke metoder der er blevet kaldt i hvilke filer  Eksempel:  java.lang.NullPointerException  at testing.MethodB(testing.java:13)FEJLEN ER HER  at testing.MethodA(testing.java:9)blev kaldt herfra  at testing.main(testing.java:5)blev kaldt herfra  Brug Kawa menu “Edit/Goto” til at finde linjen, der forårsager fejlen.

5 DAIMIIntroducerende Objektorienteret Programmering10C.5 Logiske fejl  En “bug”. Desværre vores egen hovedpine  Uendelige løkker Uventede resultater  Kunsten at “debugge” find den ret den  Oftest kan det at finde den være det sværeste; erfaring hjælper - systematik endnu bedre

6 DAIMIIntroducerende Objektorienteret Programmering10C.6 Forebyg fejl  “Det er bedre at forebygge end at helbrede”  Byg programmer op som klasser/metoder som løser delproblemer  Byg programmerne inkrementelt dvs. byg delene een af gangen og afprøv dem isoleret inden i sættter stumperne sammen: Del og hersk

7 DAIMIIntroducerende Objektorienteret Programmering10C.7 Isoler en fejl  Hvordan finder man en fejl i 45.000 linjer kode?  Del og hersk - og brug alle spor:  Sæt “bogmærker” ind i dit program, så du kan se, hvilke dele af programmet, der bliver udført – i hvilken rækkefølge.  Undersøg værdien af interessante variable.

8 DAIMIIntroducerende Objektorienteret Programmering10C.8 Fundamental debugging  Den mest fundamentale værktøj til debugging:  System.out.println  Skriv bogmærker ud System.out.println( ”Entering method foo” );  Skriv værdien af variable ud System.out.println( ”In method foo, a=”+a+”, b=”+b );

9 DAIMIIntroducerende Objektorienteret Programmering10C.9 Debuggeren  Kawa har en indbygget debugger  Menu “Project/Compiler Options…” - sæt flueben ved “debugging tables” og ”Rebuild All” (Shift F7)  Sæt et bogmærke (breakpoint) vha. menu “Build/breakpoint set” (F9)  Kør programmet via menu “Build/Debug/Run” (F5)  God ide: Indsæt “debug bar” - menu “View/Debug bar”  Øv – skidtet dur ikke til applets 


Download ppt "Fejlfinding Kunsten at finde og rette fejl. DAIMIIntroducerende Objektorienteret Programmering10C.2 Taxonomi  Ingen skriver programmer uden fejl!  Fejl."

Lignende præsentationer


Annoncer fra Google