Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

HTML Comment
hiddentrue

Mangler et godt eksempel som viser bruk av debuggeren. Denne siden bør også kvalitetssikres i større grad enn feilfinning.

Eclipse hjelper deg å finne feil i koden din. Det kan være så trivielt som at du mangler et semikolon, eller mer kompliserte feil som har med klasser og metoder å gjøre. Dette er en av hovedgrunnene til at vi bruker Eclipse! Man oppdager og får mulighet til å rette feil før man kjører programmet. 

Eclipse har også god støtte for å finne feil i analysere kjørende programmer - såkalt debugging.  

Feil og advarsler i Eclipse-editoren

Når du arbeider med Eclipse vil du få røde og gule streker under koden du skriver. Vi skiller mellom feil (error) og advarsler (warnings) som representeres av henholdsvis røde og gule markeringer i Eclipse. Du finner også ikoner med tilhørende farge i margen til venstre og høyre. Markørene på venstre side vil ligge på samme linje som feilen, mens markørene på høyre side vil representere et slags sammendrag av feil og advarsler i filen. 

Dersom du holder musepekeren over streken eller markøren, vil det dukke opp en liten tekstboks som forteller hva som er feil. I noen tilfeller vil Eclipse også foreslå hvilke endringer som kan være fornuftige å gjøre. Ved å klikke på dette forslaget vil Eclipse rette koden av seg selv!

For å se en oversikt over alle feil og advarsler i workspacet ditt kan du gå til "Problems"-fanen. Denne ligger vanligvis som en fane under editorvinduet, men kan også finnes ved å velge "Window --> Show View --> Problems". 

Eclipse har innstillinger som lar deg bestemme når feilmeldinger og advarsler vises, såvel som andre innstillinger. Se "Windows --> Preferences" og bla til "Java --> Compiler --> Errors/Warnings".

Feil

En rød strek betyr at du har en feil i koden som gjør at kompilatoren ikke vil kunne håndtere den. På bildet under ser du den røde streken under varibael, og en lyspære med et rødt kryss i margen på venstre side. I dette tilfellet er det bare å rette opp skrivefeilen for at streken skal forsvinne. Dette røde krysset går igjen mange steder i Eclipse for å fortelle deg om feilen, blant annet under filnavnet, pakken og prosjektet i explorer-vinduet.

Image Removed

Feil bør rettes så fort som mulig, og helst før du kjører programmet ditt! Et program kan kjøre med feil, men vil stoppe opp dersom det kommer til klassen/metoden med feil. Eksempler på feil er semikolon (eller andre tegn) som mangler, kall til metoder som ikke finnes, eller potensielle unntak som må fanges.

Advarsler

En gul strek er en advarsel, og vil ikke alltid være kritiske for at programmet skal fungere. Se på hver enkelt advarsel og vurder om du må gjøre noe med den nå, eller om den kan vente. Eksempler på advarsler er variabler som ikke brukes, eller unødvendige betingelser som i eksempelet nedenfor. Advarsler haster det ikke like mye å fjerne før du kjører programmet, men det er god kodeskikk å sørge for å ha så få advarsler som mulig. Noen advarsler kan også si ifra om at du har gjort en feil i koden, som du må rette opp. 

Image Removed

Bruk av debuggeren i Eclipse

Debuggeren er et verktøy som brukes til å analysere kjørende kode. Den kommer med et eget perspektiv, som du vinner ved å velge "Debug" øverst i høyre hjørne av skjermen. Dersom dette valget ikke vises, kan du trykke på den lille hvite knappen med et pluss-tegn, velge Debug fra listen og trykke OK. For å komme tilbake til det gamle perspektivet kan du velge "Java" fra samme sted. 

Image Removed 

Breakpoints

Når du debugger kode har du muligheten til å stoppe midt i et kjørende program. Da må du fortelle Eclipse hvor du ønsker at programmet skal stoppe. Dette gjøres ved å markere koden med et breakpoint. Du kan sette inn et punkt ved å dobbeltklikke i margen til venstre for den linjen du befinner deg på - da dukker det opp en liten blå sirkel. Legg også merke til at du kan velge "Breakpoints" oppe til høyre. Her får du opp en liste over alle punkter du har lagt til. 

Image Removed

Når du legger inn breakpoints vil Eclipse stoppe rett før linjen med breakpointet kjøres. Dersom du starter å debugge programmet i eksempelet over vil du derfor ikke få vite verdien av isEven, siden den ikke finnes før linjen har kjørt. Du vil derimot få vite verdien av isOdd siden denne nettopp har blitt evaluert. 

For at Eclipse skal ta hensyn til breakpointene må du kjøre koden i debuggingsmodus. Denne finner du rett ved siden av knappen for "kjør". Se figuren under. 

Image Removed

Hvis man bruker dette rett sparer man mye tid når man sliter med å forstå hvorfor et program ikke fungerer slik det skal. 

Nettressurser (oppdateres fortløpende)

Det finnes en rekke gode tutorials til ulike plug-ins og teknikker for feilfinning i Eclipse på nettet. Her følger en liste over gode tutorials som kan gjøre det lettere å finne og rette opp feil:

Guide til debugging i Eclipse:

Her følger en lenker gode guides til grunnleggende metoder for debugging i Eclipse: 

Nå er du i gang og programmet vil, som nevnt over, stoppe før det første breakpointet det finner.