1. Feil

Programmerere har sin egen slang, selv om mange anser det for å være teknisk sjargong. Du kan uansett ikke unngå å bli kjent med det. Du må dykke ned i detaljene. Så la oss dykke inn.

Et av de første ordene du vil bli kjent med er " bug ", altså et insekt . I sammenheng med programvareutvikling betyr dette ordet en feil i et program, en forekomst av at programmet gjør noe galt eller ikke helt riktig. Eller rett og slett jobber rart.

Men hvis en programmerer mener at programmet, til tross for dets merkelige oppførsel, gjør akkurat det det skal, så erklærer han eller hun vanligvis noe sånt som "det er ikke en feil, det er en funksjon". Som har skapt en haug med internett-memer.

Generelt kan det være en rekke årsaker til en programvaredefekt: alt fra feil i programmets logikk, skrivefeil og feil programarkitektur, helt opp til problemer i kompilatoren. I alle fall må programmerere fikse både ekte feil og eventuelle andre "mangler" i programmene sine.

Historien til ordet "bug"

Den vanligste versjonen av opprinnelsen til ordet "bug" er noe av en legende.

I september 1945 testet forskere ved Harvard University en av de første datamaskinene, Mark II. Datamaskinen fungerte ikke som den skal, og i ferd med å sjekke alle brettene fant de en møll som satt fast mellom kontaktene på et elektromekanisk relé.

Det ekstraherte insektet ble teipet inn i en teknisk logg, ledsaget av denne inskripsjonen: "Første faktiske tilfelle av feil ble funnet."

Denne morsomme historien antas å være begynnelsen på bruken av ordet " feil " for å bety en feil, og ordet " debug " har blitt synonymt med å eliminere feil.


2. Feilsøking av programmet

For å fikse feil i programmene deres, bruker programmerere spesielle programmer kalt debuggers . Noen av disse programmene vet til og med hvordan man feilsøker maskinkode.

Java-programmerere bruker IDE-er for å feilsøke programmene sine. Slik som IntelliJ IDEA, Eclipse og NetBeans. IntelliJ IDEA er den desidert kraftigste IDE, så vi går gjennom feilsøkingsprosessen ved å bruke den som eksempel.

IntelliJ IDEA kan kjøre programmet i to moduser:

Utførelsesmoduser Verktøylinjeikon Hurtigtaster
Normal utførelse Shift+F10
Start i feilsøkingsmodus Shift+F9

Du er allerede kjent med normal utførelse: programmet starter, kjører og avsluttes. Men feilsøkingsmodus har mange overraskelser i vente for deg.

Feilsøkingsmodus

Feilsøkingsmodus lar deg gå trinn for trinn gjennom hele programmet. Eller mer nøyaktig, den lar deg flytte linje for linje . Dessuten kan du observere verdiene til variablene i hvert trinn i programmet (etter at hver kodelinje er utført). Og du kan til og med endre verdiene deres!

For å få selv en minimal forståelse av å feilsøke et program, må du lære tre ting:

  • Knekkpunkter
  • Trinn-for-steg utførelse
  • Inspisere verdien av variabler

3. Knekkpunkter

IDE lar deg plassere spesielle markører kalt bruddpunkter i koden din. Hver gang et program som kjører i feilsøkingsmodus når en linje merket med et bruddpunkt , vil kjøringen pause.

For å sette et bruddpunkt på en bestemt linje, trenger du bare å klikke til venstre for linjen i IDEA. Eksempel:

Knekkpunkter IntelliJ IDEA

Linjen vil bli merket med et bruddpunkt, og IntelliJ IDEA vil markere den i rødt:

merket med et bruddpunkt

Et andre museklikk på ruten til venstre for koden vil fjerne bruddpunktet .

Et bruddpunkt kan også plasseres på gjeldende linje ganske enkelt ved å bruke hurtigtastkombinasjonen Ctrl+ F8. Hvis du trykker Ctrl+ F8igjen på en linje som allerede har et bruddpunkt, slettes den.


4. Start programmet i feilsøkingsmodus

Hvis du har minst ett bruddpunkt i programmet ditt, kan du kjøre programmet i feilsøkingsmodus ved å trykke Shift+ F9eller klikke på "feilikonet".

Etter å ha startet i feilsøkingsmodus, kjører programmet som vanlig. Men så snart den når en kodelinje merket med et bruddpunkt , vil den pause. Eksempel:

Start programmet i feilsøkingsmodus

I øvre halvdel av skjermbildet ser du programkode med to bruddpunkter. Programmets utførelse stoppet på linje 5, som er markert med en blå linje. Linje 5 er ikke utført ennå: ingenting har blitt sendt ut til konsollen ennå.

I den nedre halvdelen av skjermen ser du feilsøkingsrutene: Feilsøkingsruten , konsollruten  og et sett med knapper for feilsøkingsmodus.

Du kan gjenoppta programmet (dvs. fortsette kjøringen) ved å trykke på Fortsett program- knappen nederst til venstre (eller trykke på F9).

Start programmet i feilsøkingsmodus 3

Hvis du trykker på denne knappen (eller F9), vil programmet fortsette å kjøre til det møter neste bruddpunkt eller avsluttes. Her er hva vi ser etter å ha klikket på knappen:

Start programmet i feilsøkingsmodus 4

Programmet stoppet ved det andre bruddpunktet, og ordene Helloog andkan sees i konsollen. Dette er et tegn på at vi kun har utført to av de tre linjene som viser utdata på skjermen.


5. Trinn-for-steg utførelse

Hvis programmet kjører i feilsøkingsmodus, kan du også gå gjennom det: ett trinn er en linje . Det er to hurtigtaster for trinn-for-trinn kjøring: F7og F8: hver fører til at gjeldende kodelinje kjøres. Men først må du fortsatt stoppe programmet med et bruddpunkt .

Hvis du vil kjøre programmet linje for linje, må du sette et bruddpunkt i begynnelsen av main()metoden og kjøre den i feilsøkingsmodus.

Når programmet stopper, kan du begynne å utføre det linje for linje. Ett trykk på F8tasten utfører en linje.

Slik ser programmet vårt ut etter at det stopper og vi trykker på F8tasten én gang:

Start programmet i feilsøkingsmodus.  Trinn-for-steg utførelse

Den første linjen i hovedmetoden er allerede utført, og den gjeldende linjen er den andre linjen. Du kan også se nederst på skjermbildet at ordet Helloallerede vises på skjermen.


6. Steg-for-steg utførelse med å gå inn i metoder

Hvis du har skrevet dine egne metoder i programmet og du vil at utførelse skal gå inn i metodene dine i feilsøkingsmodus, dvs. du vil "trå inn i metoden", så må du heller trykke F7enn F8.

La oss si at du går gjennom programmet og nå er stoppet på linje 4. Hvis du trykker på F8, vil IDEA ganske enkelt utføre den fjerde linjen og gå videre til den femte.

Trinn-for-trinn utførelse med å gå inn i metoder 2

Men hvis du trykker F7, vil IDEA gå inn i main2()metoden:

Trinn-for-trinn utførelse med å gå inn i metoder 3

Det er veldig enkelt. Hvis du egentlig ikke bryr deg om hva som skjer inne i en metode eller hvordan, så trykker du på F8. Hvis det er viktig, trykk F7og gå gjennom hele koden.