Program za pronalaženje pogrešaka
Program za pronalaženje pogrešaka ili debugger je računalni program koji se rabi za otklanjanje grešaka ostalih programa. Debugger može testirati i provjeriti pravilnost rada programa.
Rušenje programa se događa u slučaju da je izvođenje programa nemoguće zbog softverskog buga, to jest, greške u kodu. Primjerice, program je možda koristio instrukciju koja nije dostupna za trenutnu verziju korisnikovog procesora ili je pokušao pristupiti nekoj nedostupnoj ili zaštićenoj memoriji.
Opis
Debuggeri daju napredne funkcije kao što su pokretanje programa korak po korak (single-stepping), zaustavljanje ili pauziranje izvođenja programa na takozvanom breakpointu tijekom određenih zbivanja, a neki čak i mogućnost mijenjanja programa dok se izvodi. Iste funkcije koje čine debugger korisnim za rješavanje bugova čine ga i pomagalom pri razbijanju softverske zaštite, tj. crackiranju programa koji nije besplatan u svrhe da se može koristiti neograničeno bez ikakvog plaćanja ili kupovanja. Korisni su i za testiranje performansi programa. Pojedini debuggeri rade samo sa specifičnim programskim jezikom dok drugi mogu raditi s više njih.
Većina popularnih debuggera daje samo jednostavno komandnolinijsko sučelje (command-line interface - CLI), često iz razloga da maksimiziraju portabilnost i minimaliziraju trošenje sistemskih resursa računala. Ipak, popravljanje grešaka u programu preko grafičkog sučelja (GUI) debuggera se često smatra jednostavnijim i produktivnijim.
Neki od poznatih debuggera su: