Ohjelmointi Unixissa, luku 7 Tutkinta (debuggaus):

Johdanto

Tutkinta (debuggaus) tarkoittaa käyttäjän ohjelman suorittamista erityisen tutkintaohjelman (debuggerin) alaisuudessa siten, että ohjelmaan voidaan asettaa katkokohtia (breakpoints), ohjelman muuttujien arvoja voidaan tulostaa ja muuttaa jne. Tarkoituksena on yleensä löytää "luteet" (bugs) eli selvittää, miksi ohjelma toimii väärin.

Aiemmin käsiteltiin väärin tai oudosti toimivaa ohjelmaa yleensä siten, että siihen lisättiin välitulostuksia. Nykyisin tämä on yleensä tarpeetonta, koska tutkintaohjelmat mahdollistavat muuttujien arvojen tulostamisen muuttamatta käyttäjän ohjelmaa.

Tyypillisesti tutkinnassa ensin asetetaan ohjelmaan muutamia katkokohtia, käynnistetään ohjelma ja tulostellaan muuttujien arvoja, kunnes selviää, missä kohdassa menee pieleen. Jos ohjelma on iso, saadaan näin selville aluksi vain virheen karkea sijainti - siis minkä katkokohtien välissä tapahtuu jotain outoa. Sen jälkeen kyseisten katkokohtien väliin asetetaan muutamia katkokohtia ja ajetaan ohjelma uudestaan. Näin jatketaan, kunnes virhe saadaan paikannetuksi. Tämän prosessin loppuvaiheessa voi olla kätevämpää ajaa ohjelmaa rivi kerrallaan kuin asettaa enää katkokohtia.

Käytettävissä on tietokoneesta ja ohjelmointikielestä riippuen erilaisia tutkintaohjelmia.