Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afSandra Markussen Redigeret for ca. et år siden
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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.