Debuggen van een programma in wezen betekent het vinden van fouten en corrigeren . Een " fout " is een kleine fout in code die kunnen onttrekken bericht door een aantal factoren . Omdat computerprogramma's zo complex zijn geworden , kan zelfs de kleinste fout veroorzaken grote problemen langs de lijn . Debuggen van een programma in C gaat met behulp van een debugger te vangen fouten helpen . Echter , een debugger is geen vervanging voor een programmeur die weet hoe om te zoeken en val fouten . Controleren Output Op kleinere programma's , kan een programmeur waarschijnlijk controleren van bepaalde uitgangen te bepalen of het programma staat juist heel executie blijft . In dit geval , kan het invoegen druk verklaringen in een programma om variabelen die normaal niet zichtbaar zijn voor de gebruiker laten staan garant voor een programma werkt - of tot welk punt het werkt voor de crash : int i = 0 ; < br intj > ; j = someFunction ( i) //doet wat werk op i en geeft een waarde printf ( " % d " , j ) //print j om zorgen j is een legitieme waarde C Debuggers Afhankelijk van de ontwikkelomgeving , moet een programmeur hebben debugging software die beschikbaar is van toepassing op elke code . Deze programma's " wandeling door " een programma als het draait , het bijhouden van variabelen en condities totdat een fout optreedt . Wanneer de fout zich voordoet , zal de debugger informatie over de fout terug . Ook veel debuggers waarmee programmeurs " doorlopen " code een regel tegelijk , zodat de programmeur kan de uitvoering van de code te onderzoeken . Voor Linux -systemen , het GNU Project debugger ( gdb ) bezitten deze functionaliteit ( gnu.org /s /gdb ) terwijl Windows programmeurs kan de debugger opgenomen in Visual Studio ( Microsoft.com /express ) gebruiken . < Br > Debuggers en breekpunten debugging software gebruikt het idee van ' breekpunten ' , waar een programmeur een programma halverwege de uitvoering tijdens het debuggen van code tot stand te bepalen kan stoppen . Bijvoorbeeld, als de code hieronder crasht op een bepaald punt , zou de programmeur weet niet waar of wanneer de fout is opgetreden int i , j ; . I = getNumber ( ) ; j = j + i ; j = modify ( i , j ) ; p Het in de getNumber functie , het wijzigen functie of ergens kunnen voordoen eerder in het hoofdprogramma . Een breekpunt kan een plaats waar code stopt voordat de fout , zodat de programmeur omstandigheden kunnen beoordelen voordat de fout zich voordoet . Stepping Through Code Complex debugging kan gaan instellen gaat regel voor regel door de code . Zodra de programmeur identificeert een mogelijke locatie fout , kan hij de programmacode regel voor regel uitvoeren , het bijhouden van de status van het programma totdat er een fout optreedt . Hierdoor kan de programmeur om de exacte locatie van het programma , en backtrack om te zien waar de omstandigheden van de fout is ontstaan lokaliseren . In dit voorbeeld , Co i = getNumber ( ) ; j = j + i ; j = modify ( i , j ) op ; indien de fout gebeurt bij de functie " wijzigen " , dan is de programmeur kan backtrack , en ze zullen ontdekken dat " ik " kreeg een slechte waarde van " getNumber " en dus beschadigd " te wijzigen." < br >
|