You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Debuggeren er et verktøy som brukes til å analysere kjørende kode som kan være svært nyttig når man vil lokalisere og rette opp/fjerne bugs eller uønsket adferd i et program.

De viktigste debug-vinduene er tilgjengelige i tdt4100-perspektivet, så du trenger ikke bytte perspektiv for å debugge programmet ditt. Hvis du likevel har lyst til å gjøre det  har Eclipse har et eget debug-perspektiv som du finner ved å velge "Debug" øverst i høyre hjørne av skjermen (se bilde). Dersom dette valget ikke vises, kan du trykke på den lille hvite knappen med et pluss-tegn like ved, velge Debug fra listen og trykke OK. Eventuelt kan du trykke window -> perspective -> open perspective -> debug. For å komme tilbake til det gamle perspektivet velger du "tdt4100" fra samme sted. Uansett hvilket perspektiv du bruker kan du skreddersy det ved å dra rundt på de forskjellige vinduene.

 

 

debugger-perspektivet til Eclipse                                                          debuggermodus i tdt4100-perspektivet

Kjøre Eclipse i debuggermodus

For å kjøre Eclipse i debuggermodus trykker du på det lille ikonet av en bille (bug) som ligger rett ved siden av knappen for "kjør", eventuelt trykk run -> debug.

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 (eller høyreklikke og trykke "toggle breakpoint") i den lille margen til venstre for den kodelinjen du ønsker å stoppe før - da dukker det opp en liten blå sirkel som markerer breakpointet. Legg også merke til at Breakpoints-vinduet har en liste over alle punkter du har lagt til. 

Når du legger inn breakpoints vil Eclipse stoppe rett før linjen med breakpointet kjøres når du kjører i debuggermodus. Dersom du kjører kodesnutten over vil variablene tall og i ha verdier (henholdsvis 10 og 5), mens resultat ikke vil være opprettet enda. Dette ser man enkelt i "Variables"-vinduet som viser en oversikt over alle variablene i programmet og deres verdier. Dersom du bare vil vite verdien på en enkelt variabel kan du holde musepekeren over den i kodevinduet.

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

Navigere i et stoppet program

Når et program har stoppet ved et breakpoint har du ulike måter å gå videre på. De to store mulighetene er å fortsette eller å steppe gjennom koden. Å fortsette vil si at man kjører koden til neste breakpoint, mens å steppe betyr at man kjører kodelinjer en etter en på kommando fra brukeren. De viktigste knappene for å navigere i et stoppet program er vist på figuren nedenfor. 

 

En forklaring på hva de ulike knappene gjør, fra venstre mot høyre, er gitt nedenfor. De du kommer til å bruke desidert mest er notert med fet skrift.

  • Resume: Koden kjøres frem til neste breakpoint
  • Suspend: Brukes for å avslutte tråder (ikke pensum)
  • Terminate: Avslutter kjøringen
  • Disconnect: Brukes hvis du degbugger et program som ikke er på din lokale maskin (ikke pensum)
  • Step into: En del av steppe-funksjonen. Går inn i neste blokk med kode. Dersom det er et metodekall på neste linje som skal utføres, vil Step into ta deg inn i denne slik at du kan fortsette debuggingen der. 
  • Step over: Tar deg til neste kodelinje i den filen du er i nå. Dersom du har et metodekall på linjen vil du altså ikke gå inn i denne metoden. 
  • Step return: Dersom du har brukt Step into for å komme inn i en metode vil Step return ta deg ut igjen. 
  • Drop to frame: Kjører en del av programmet på nytt
  • Use Step Filters: Debuggeren har støtte for å filtrere ut klasser man ikke ønsker å debugge. Denne funksjonen tvinger alle step-knapper til å bruke disse filtrene.

 

Se også:

 

  • No labels