Pojdi na vsebino

Razhroščevalnik

Iz Wikipedije, proste enciklopedije

Razhroščevalnik (angleško debugger) je računalniški program, ki se uporablja za testiranje in odpravljanje napak (razhroščevanje) v drugih programih (»ciljnih« programih). Pogoste funkcije razhroščevalnikov vključujejo zmožnost zagona ali zaustavitve ciljnega programa z uporabo prelomnih točk (breakpoint), korakanje skozi kodo vrstico za vrstico ter prikaz ali spreminjanje vsebine pomnilnika, registrov CPE in okvirjev sklada.

Koda, ki jo je treba pregledati, se lahko izvaja na simulatorju nabora ukazov (ISS), tehniki, ki omogoča veliko moč pri zmožnosti zaustavitve, ko se naleti na posebne pogoje, vendar bo običajno nekoliko počasnejša od izvajanja kode neposredno na ustreznem (ali istem) procesorju. Nekateri razhroščevalniki ponujajo dva načina delovanja, popolno ali delno simulacijo, da omejijo ta vpliv.

Do izjeme pride, ko se program ne more normalno nadaljevati zaradi programske napake ali neveljavnih podatkov. Program je na primer morda poskušal uporabiti ukaz (navodilo), ki ni na voljo v trenutni različici procesorja, ali je poskušal dostopati do nerazpoložljivega ali zaščitenega pomnilnika. Ko program »ujame« ali doseže prednastavljeno stanje, razhroščevalnik običajno prikaže lokacijo v izvirni kodi, če gre za razhroščevalnik na izvorni ravni ali simbolni razhroščevalnik, ki se ga zdaj pogosto vidi v integriranih razvojnih okoljih (IDE). Če gre za nizkonivojski razhroščevalnik ali razhroščevalnik strojnega jezika, prikaže vrstico v razstavljanju (disassembly) (razen če ima tudi spletni dostop do izvirne izvorne kode in lahko prikaže ustrezen del kode iz zbiranja ali prevajanja).