In 1947 ontdekten ingenieurs van Harvard een mot die vastzat in een relais van de Mark II-computer. Ze plakten de mot in het logboek en schreven: 'eerste daadwerkelijke geval van een bug gevonden'. Debuggen is het proces van het vinden en corrigeren van fouten in code. De term is blijven hangen, ook al zijn de meeste bugs geen insecten.
De bugs variëren van typefouten en logische fouten tot racecondities. Een ontbrekende puntkomma zorgt ervoor dat de compilatie stopt. Een verkeerde variabelenaam levert een verkeerd resultaat op. Een raceconditie treedt alleen op wanneer twee threads in een bepaalde volgorde worden uitgevoerd. Sommige bugs zijn gemakkelijk te vinden. Andere kosten dagen om te reproduceren.
Foutopsporingstechnieken
- Printinstructies: uitvoerwaarden op belangrijke punten
- Breakpoints: pauzeer de uitvoering en inspecteer de status.
- Rubberen eendjes-debugging: leg de code hardop uit.
- Binaire zoekopdracht: hiermee wordt de locatie van de bug beperkt.
- Versiebeheer: vergelijk werkende en defecte versies
Foutopsporing is detectivewerk. Je formuleert hypotheses, test ze en sluit mogelijkheden uit. De beste foutopsporers zijn geduldig en systematisch. Ze gokken niet. Ze observeren.
Comments
No comments yet. Be the first to share a thought.
Leave a comment