Debugging med papir og blyant


Når man leter etter feil i et dataprogram, er det viktigste hjelpemiddelet debuggeren som følger med utviklingsverktøyet vi bruker når vi skriver og kompilerer programmet.

Men for å øke forståelsen av hvordan for eksempel en sløyfe fungerer, fungerer papir-og-blyant-simulering av dataprogrammets gjøremål svært godt.

Vi tar et eksempel hvor vi finner det største tallet i en tabell:

var tall: Array = [22,33,12,32,25,44,9,7,17,43];

var antall: int = tall.length;            //Alle tabeller har egenskapen length!

var maks: Number = Number.MIN_VALUE;    // Største så langt, setter mindre enn alle tall

var i: int=0;
for(i=0;i<antall;i++) {
    if( tall[i]>maks ) {        // Hvis tall større, 
        maks=tall[i];            //     så er tallet største hittil
    }//if
}//for

trace("Det største tallet er: "+maks);

Da kan vi simulere det som skjer med variablene i en tabell omtrent slik: (Starter i for-sløyfen.)

kode: i: maks: tall[i] Kommentar:
for(i=0;i<antall;i++) 0 4.9406564584124654e-324 22  
if(tall[i]>maks) 0 4.9406564584124654e-324 22 true
maks=tall[i] 0 22 22  
if(tall[i]>maks) 1 22 33 true
maks=tall[i] 1 33 33  
if(tall[i]>maks) 2 33 12 false
if(tall[i]>maks) 3 33 32 false
if(tall[i]>maks) 4 33 25 false
if(tall[i]>maks) 5 33 44 true
maks=tall[i] 5 44 44  
if(tall[i]>maks) 6 44 9 false
...       Slik fortsetter det
if(tall[i]>maks) 9 44 43 false
trace("Det ....."); 10 44 - Står igjen med 44 i maks