3.12 Debuggaus

Debuggauksen avulla voidaan metsästää ohjelmassa olevia virheitä. On kuitenkin muistettava, että debuggeri on vain apuväline, jota käyttäjän on osattava käyttää, jotta virheet löytyisivät.

Debuggauksessa ohjelmoija voi mm. seurata ohjelman toimintaa rivi riviltä. Välillä ohjelmoija voi katsoa muuttujien tai muistipaikkojen sisältöä tai näytölle tulostunutta tavaraa. Tästä toiminnosta on hyötyä erityisesti silloin, kun ohjelma näyttää päällisin puolin toimivalta, mutta silti se ei tuota oikeaa lopputulosta. Debuggaus toimii seuraavasti:

  1. Hae näytölle ohjelma, jonka toimintaa haluat seurata.
  2. Käynnistä debuggaus (Run | Trace into tai F7). Jonkin ajan kuluttua ohjelmakoodiin ilmestyy "palkki", joka peittää pääohjelman otsikkorivin. Tämä palkki on debuggauksessa käytettävä eräänlainen kursori, joka näyttää seuraavaksi suoritettavan rivin.
  3. Paina F7 (tai valitse Run | Trace into). Nyt palkki siirtyy seuraavalle suoritettavalle riville. Huomaa, että debuggaus hyppää suoraan muuttujien esittelyjen yli. Debuggauksen aikana voit tutkia esim. näytölle tulostuvaa tavaraa kuten normaalisti (Alt-F5 tai Window | User Screen).
  4. Toista F7:n painaminen kunnes päästään ohjelman loppuun eli viimeiseen aaltosulkuun.
  5. Voit keskeyttää debuggauksen ajamalla ohjelman loppuun (Ctrl-F9 tai Run | Run) tai painamalla Ctrl-F2.

Debuggauksen aikana voi tutkia eri muuttujien arvoja ohjelman eri vaiheissa. Tutkinta tehdään seuraavasti:

  1. Käynnistä debuggaus tutkittavalle ohjelmalle.
  2. Valitse Debug | Watches | Add watch tai paina Ctrl-F7. Näytölle tulee ikkuna, johon kirjoitetaan tutkittavan muuttujan nimi ja painetaan Returnia. Samalla tavoin voidaan lisätä useampiakin muuttujia. Tämän jälkeen ko. muuttujien nimet ja niiden arvot ilmestyvät Watch-nimiseen ikkunaan.
  3. Jatka debuggausta (F7 tai Run | Trace into). Nyt Watch-ikkunassa olevien muuttujien arvot muuttuvat sitä mukaa kun niitä käsitellään ohjelmassa.
  4. Voit lisätä uusia muuttujia tarkkailtavien listalle kesken debuggauksenkin.

Jos kääntäjä ei osaa sanoa muuttujille mitään arvoa, niin muuttujan nimen perässä on teksti "undefined symbol" eli vapaasti suomennettuna "määrittelemätön muuttuja".