Geschiedenis
Vroeger, rond het einde van de Tweede Wereldoorlog, waren computers gigantische
rekenmachines. Met gigantisch bedoelen we de afmetingen. Ze waren opgebouwd uit
elektronica en elektromechanische componenten (relais).
Een bekende was de "The Harvard Mark III" gebouwd onder de supervisie van Howard
Aiken voor de US Navy. Hij had maar liefst 36 bits, kon 16 decimal digits en een plusteken
opslaan. Hiervoor gebruikte hij 5000 vacuümbuizen en 1500 kristal diodes. Een magnetische
trommel werd als geheugen gebruikt en kon 4350 worden opslaan. Het maken van een
optelling duurde 4400 microseconde (4.4 milliseconde, 0.04 seconde), terwijl het
vermenigvuldigen 13200 microseconde (13.2 milliseconde, 0.132 seconde) duurde.
Grace Murray Hopper was aan de voorganger Mark II aan het werk toen ze een tegen een
probleem aanliep. Na een aantal tests besloot ze om te gaan kijken wat er aan de hand was.
Ze vond na wat zoekwerk een mot, oftewel een bug. De term debugging was ontstaan,
omdat ze de bug moest verwijderen.
Zij heeft de term debugging populair gemaakt, ze heeft het woord bug in de betekenis van
een fout in een systeem niet zelf bedacht. Echter dit verhaal heeft het wel populair gemaakt.
Debuggen
Waarom debuggen we? Het debuggen is noodzakelijk, omdat het identificeren en oplossen
van softwarefouten cruciaal is voor het ontwikkelen van betrouwbare en efficiënte
programma's. Fouten in de code kunnen namelijk leiden tot:
● Onverwachte crashes.
● Gegevens verlies.
● Veiligheidsproblemen.
● Verminderde prestaties.
● Negatieve beïnvloeding van de prestaties.
Door te debuggen kunnen ontwikkelaars fouten opsporen, isoleren en corrigeren. Dit
verbetert de stabiliteit en de functionaliteit van de software. Debuggen is een fundamenteel
onderdeel van softwareontwikkeling om de algehele kwaliteit en bruikbaarheid van de
software te waarborgen. Daarnaast verschaft het waardevolle informatie over de interne
werking van de applicatie.
, Wanneer ga je debuggen?
Het korte antwoord op wanneer ga je starten met debuggen is: Zo snel mogelijk.
Je ziet veel beginners lang tobben als iets niet werkt. Lang tobben wordt ook wel "trashen"
genoemd. De kunst is om dit op tijd te herkennen. Wanneer je te lang aan het trashen bent,
verlies je veel tijd zonder vooruitgang. Bij een bedrijf in een projectteam betekent dit het
verlies van veel geld. Jij produceert niets, je teamleden kunnen niet verder omdat jouw deel
niet af is. Je bent technische schuld aan het opbouwen. Gebruik je tools of vraag om hulp.
Hoe herken je trashen?
Trashen herken je als je langer dan een half uur bezig bent met hetzelfde probleem. Je hebt
een aantal keren op verschillende manieren naar dezelfde variabelen gekeken of
gecontroleerd of alle parameters van de functie echt wel kloppen. Dit zijn serieuze tekenen
van trashen. Leer ze herkennen, zodat je zo snel mogelijk weer effectief kunt zijn. Debuggen
is hierop het antwoord.
Hoe kun je debuggen?
Zoals nu wel duidelijk zal zijn geeft debuggen inzicht in de werking van je applicatie. De
werkelijke waarde van variabelen op bepaalde momenten, geheugenadressen van
variabelen, de opbouw van je datastructuur en meer. Al deze inzichten kunnen je helpen om
het probleem op te sporen. Je moet nog steeds blijven nadenken en in sommige gevallen
diep nadenken.
Debuggen kan op verschillende manieren. Van eenvoudige print statements tot met gebruik
van de geïntegreerde debugger waarmee je remote kan debuggen.
De meest populaire debug methoden zijn:
● Logfile
● Debugger en breakpoints
● Smart breakpoints
Debuggen met een print
Debuggen met eenvoudige print statements is een onderschatte manier van debuggen. Het
is heel laagdrempelig en behoorlijk krachtig. Toch zie je mensen te lang trashen, voordat ze
het print statement als hulpmiddel toepassen.
Je wilt de print niet graag in een loop hebben, omdat het scherm dan erg snel voorbij scrolt
met print informatie. Het kan echter wel. Realiseer je echter goed dat een print statement tijd
kost, wat de timing van een applicatie kan aanpassen. De weergave kan intelligenter worden
door bijvoorbeeld dynamische informatie aan de print statement toe te voegen.
Debuggen met logfile
Het debuggen met behulp van logfiles is vooral interessant om langlopende acties te volgen.
Zeker als er sequences zijn die worden doorlopen. De log file wordt geopend en geopend
laten gedurende de rest van het programma, is vaak geen wenselijke situatie. Omdat bij een