Een veelvoorkomende oorzaak van functionele fouten in programma’s is dat variabelen andere waarden bevatten dan die jij verwacht. Om uit te zoeken waar de fout zich precies bevindt in de code kan je de namen en waarden van de variabelen printen op cruciale plaatsen.

Bekijk de volgende code. Deze geeft een foutmelding bij uitvoering. Ken je de operator % nog? Modulo geeft de rest bij deling

nr1 = 5
nr2 = 4
nr3 = 5
print( nr3 / (nr1 % nr2) )
nr1 = nr1 + 1
print( nr3 / (nr1 % nr2) )
nr1 = nr1 + 1
print( nr3 / (nr1 % nr2) )
nr1 = nr1 + 1
print( nr3 / (nr1 % nr2) )

Bij eenvoudige code vind je misschien snel de fout door de code door te nemen. Dit lukt echter niet altijd meteen.
Wanneer je dit programma uitvoert, krijg je als feedback dat er een fout ontdekt wordt op regel 10. Alles werkt dus nog op regel 9. Je kan dus een extra regel code zetten tussen regel 9 en 10 waarbij de waarde van nr1, nr2, nr3 en mogelijk ook nr1 % nr2 afgedrukt wordt. Zo ontdek je waarschijnlijk sneller wat er misloopt. print() statements kan je zonder problemen tussen bestaande code toevoegen, deze veranderen immers niets aan de variabelen.

Het uitzoeken waar de fout zich bevindt in, en verbeteren van de code, noemen we de code “debuggen”.