Feilsøker
Hva er en debugger?
En debugger er et verktøy som hjelper deg å gå gjennom koden din steg for steg. Vi kan pause kjøringen av koden på et bestemt punkt og starte feilsøkingsmodus for å se hvordan koden vår fungerer. For å gjøre dette må vi sette et merke (breakpoint) på linjen der vi ønsker å stoppe.
Vi har en kode som skal beregne summen av tall fra én til ti, inkludert. Resultatet skal være 55, men vi får 45 som svar. La oss sette et breakpoint i starten av løkken for å forstå hvorfor svaret ikke stemmer. For å gjøre dette må du klikke med venstre museknapp på linjenummeret, og en rød markør vil vises der.
Her er koden fra skjermbildet, omskrevet for bedre lesbarhet og klarhet:
Main.java
12345678910111213package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Verktøy i feilsøkingsmodus
La oss kort se på hvordan man arbeider med feilsøkeren og hvilke verktøy som er tilgjengelige i denne.
-
Step Over: Med denne knappen kan vi fortsette kodeutførelsen én linje om gangen. Når den trykkes, vil feilsøkeren utføre den nåværende linjen og gå videre til neste, og deretter stoppe igjen;
-
Step Into: Med denne knappen kan vi gå inn i utførelsen av en metode. I vårt eksempel finnes det ingen metode, men hvis det hadde vært en, kunne vi gått inn i den og sett hva som skjer der;
-
Step Out: Denne knappen er det motsatte av den forrige. Den lar oss gå ut av utførelsen av en metode eller løkke;
-
Vi kan se verdiene til variabler i vinduet nederst eller ved siden av disse variablene. Vi kan tydelig se verdien til variabelen
result, som i utgangspunktet er null.
Iterasjon gjennom koden
For å iterere, klikk på "Step Over"-knappen. Vi går inn i for-løkka, og verdien til variabelen i vises, som er opprettet inne i for-løkka. Opprinnelig setter vi denne variabelen til null.
Deretter klikker vi "Step Over" flere ganger for å fullføre én iterasjon og går til konsollen for å se om noe skrives ut på skjermen. Vi kan se at variabelen i økte med 1, og "0" ble vist på skjermen, siden både variabelen result og variabelen i opprinnelig var satt til null. 0 + 0 = 0 -> dette er det som ble vist på skjermen.
La oss hoppe over iterasjonene med å skrive ut de andre tallene til konsollen og gå til slutten. Det er her vi kan se hovedfeilen i løkken vår. Vi skal vise summen av tall fra 0 til 10 inkludert, men vi tok ikke med 10. Derfor, når vi ser at i = 9 og når den økes til 10, avslutter vi løkken siden 10 !< 10 (10 er ikke mindre enn 10).
For å løse dette problemet må vi endre betingelsen til i <= 10. Da får vi riktig resultat.
I hovedsak trykket vi gjentatte ganger på "Step Over"-knappen, noe som førte oss til å oppdage feilen i løkken og deretter rette den.
Merk
Jeg har kun vist de grunnleggende verktøyene i debuggeren. For å lære å bruke dem, bør du øve selv. Du kan skrive et lignende program og selvstendig se hvordan alt fungerer. Debuggeren er et svært nyttig verktøy fordi det hjelper med å finne og rette feil i koden.
1. Hva er hovedformålet med en debugger?
2. Hva lar et breakpoint deg gjøre i en debugger?
3. Hva gjør "Step Over"-knappen i en debugger?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain more about how to set breakpoints in different IDEs?
What are some common mistakes people make when using a debugger?
Can you give more examples of how to use the Step Over, Step Into, and Step Out features?
Awesome!
Completion rate improved to 4.76
Feilsøker
Sveip for å vise menyen
Hva er en debugger?
En debugger er et verktøy som hjelper deg å gå gjennom koden din steg for steg. Vi kan pause kjøringen av koden på et bestemt punkt og starte feilsøkingsmodus for å se hvordan koden vår fungerer. For å gjøre dette må vi sette et merke (breakpoint) på linjen der vi ønsker å stoppe.
Vi har en kode som skal beregne summen av tall fra én til ti, inkludert. Resultatet skal være 55, men vi får 45 som svar. La oss sette et breakpoint i starten av løkken for å forstå hvorfor svaret ikke stemmer. For å gjøre dette må du klikke med venstre museknapp på linjenummeret, og en rød markør vil vises der.
Her er koden fra skjermbildet, omskrevet for bedre lesbarhet og klarhet:
Main.java
12345678910111213package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Verktøy i feilsøkingsmodus
La oss kort se på hvordan man arbeider med feilsøkeren og hvilke verktøy som er tilgjengelige i denne.
-
Step Over: Med denne knappen kan vi fortsette kodeutførelsen én linje om gangen. Når den trykkes, vil feilsøkeren utføre den nåværende linjen og gå videre til neste, og deretter stoppe igjen;
-
Step Into: Med denne knappen kan vi gå inn i utførelsen av en metode. I vårt eksempel finnes det ingen metode, men hvis det hadde vært en, kunne vi gått inn i den og sett hva som skjer der;
-
Step Out: Denne knappen er det motsatte av den forrige. Den lar oss gå ut av utførelsen av en metode eller løkke;
-
Vi kan se verdiene til variabler i vinduet nederst eller ved siden av disse variablene. Vi kan tydelig se verdien til variabelen
result, som i utgangspunktet er null.
Iterasjon gjennom koden
For å iterere, klikk på "Step Over"-knappen. Vi går inn i for-løkka, og verdien til variabelen i vises, som er opprettet inne i for-løkka. Opprinnelig setter vi denne variabelen til null.
Deretter klikker vi "Step Over" flere ganger for å fullføre én iterasjon og går til konsollen for å se om noe skrives ut på skjermen. Vi kan se at variabelen i økte med 1, og "0" ble vist på skjermen, siden både variabelen result og variabelen i opprinnelig var satt til null. 0 + 0 = 0 -> dette er det som ble vist på skjermen.
La oss hoppe over iterasjonene med å skrive ut de andre tallene til konsollen og gå til slutten. Det er her vi kan se hovedfeilen i løkken vår. Vi skal vise summen av tall fra 0 til 10 inkludert, men vi tok ikke med 10. Derfor, når vi ser at i = 9 og når den økes til 10, avslutter vi løkken siden 10 !< 10 (10 er ikke mindre enn 10).
For å løse dette problemet må vi endre betingelsen til i <= 10. Da får vi riktig resultat.
I hovedsak trykket vi gjentatte ganger på "Step Over"-knappen, noe som førte oss til å oppdage feilen i løkken og deretter rette den.
Merk
Jeg har kun vist de grunnleggende verktøyene i debuggeren. For å lære å bruke dem, bør du øve selv. Du kan skrive et lignende program og selvstendig se hvordan alt fungerer. Debuggeren er et svært nyttig verktøy fordi det hjelper med å finne og rette feil i koden.
1. Hva er hovedformålet med en debugger?
2. Hva lar et breakpoint deg gjøre i en debugger?
3. Hva gjør "Step Over"-knappen i en debugger?
Takk for tilbakemeldingene dine!