Debug ali razhroščevanje. Zgodovina Debug-a:
Ta izraz se je rodil leta 1948. Takrat so bili računalniki narejeni še iz elektronk. Elektronke pa delajo na 3 oz. 5-ih voltih, včasih pa so delali na 100-ih voltih. V tistem času so naredili program, ki je zmeraj delal narobe ( dajal je napačne rezultate ). Nekdo je šel pogledat, če je kaj narobe z računalnikom in med žicami so našli majhnega hrošča. In zato se to imenuje debug oz. razhroščevalnik.Namen debuggiranja je, da poiščemo napako v programu. S testiranjem preverimo, če je program pravilen. Če ni takih napak, da se program vsaj prevede, preizkusimo, če nam npr. pravilno odšteva. Če ugotovimo napake v funkcijah, si pomagamo z delnimi rezultati tako, da jih izpisujemo.
PRIMER: Kako najdemo napako pri programu ART.C?
To naredimo tako, da program najprej prevedemo v knjižnico. Potem
gremo pogledat še testen program TESTART.C. Naredimo projekt in
napišemo TESTART ter mu dodamo osnovni in objektni program. Potem
pa prevedemo v standard. Napisali smo:
V123
računalnik izpiše: 579.
V456
S
I
Naredili smo še nekaj preizkusov. Radi pa bi ugotovili, kaj je narobe.
Npr. po scanf se želimo ustaviti. To naredimo tako, da gremo na Debug, potem izberemo Toggle breakpoint oz. Ctrl+F8.
Watches izpisuje vrednost in v programu so razne spremenljivke, ki lahko opazuješ kako se spreminjajo.
Toggle breakpoint ko izbereš vrstico, se vrstica rdeče obarva in program bo tekel toliko časa, dokler ne pride do te vrstice. Potem te bo vprašal, kaj hočeš.
breakpoints posredujeje spisek vseh točk, kjer se bo Debug ustavil.
V 100 - program se ustavi, kjer smo prej zahtevali (nastavili).
Radi bi pogledali, če je vrednost 100 v resnici vpisana.
Gremo na:
Še drugi način: F8 pomeni, da izvajamo program korakoma - vrstica za vrstico. Pritisnemo F8 in se prestavimo, potem Debug, Inspect in napišemo stev1, potem vnesemo še stev2. Potem spet pritisnemo F8. Ševili seštejemo.
Potem gremo na Run, napišemo I, vendar se še ne bo izpisalo.
V123 Ctrl+F9Izpiše nam pravilen rezultat 99.
V222 Ctrl+F9
O Ctrl+F9
I
Radi bi pogledali, kako program dela:
Predznak števila ugotovimo tako, da gremo na:
Radi bi videli, kako bi delala funkcija ABSVecje. Gremo na Run in potem na Trace (oziroma F7). Pogledali smo vrednost po že znani poti, num1, num2, stevec v funkciji ABSVecje.
Pri for (stevec) smo postavili Toggle breakpoint - ustavi se, kjer je bila prekinitvena točka.
Vsak program ima za razhroščevanje vsaj 3 ukaze:
Ugotovili smo tudi, da ima naš program eno napako pri odštevanju. To napako moramo poiskati.