? Debugging et program hovedsageligt betyder at finde fejl og korrigere dem. En " bug" er en lille fejl i koden , som kan unddrage meddelelse på grund af en række faktorer . Fordi computerprogrammer er blevet så komplekse, kan selv den mindste fejl forårsage store problemer ned på linjen. Debugging et program i C indebærer anvendelse af en debugger til at hjælpe fange fejl. Men en debugger er ikke en erstatning for en programmør , der ved, hvordan man lede efter og trap fejl. Kontrol Output
På mindre programmer, kan en programmør formentlig kontrollere visse udgange for at afgøre , om programmet state forbliver korrekte hele udførelse. I dette tilfælde kan indsætte print udsagn i et program for at vise variable , der normalt ikke er synlige for brugeren garantere et program virker - eller op til hvilket tidspunkt den virker, før Crash : Hej
int i = 0; < br >
INTJ ,
j = someFunction (I) //gør noget arbejde på i og returnerer en værdi
printf (" % d " , j ) //print j til sikre j er en legitim værdi
C Debuggers
Afhængigt af udviklingen miljøet bør en programmør have debugging software til rådighed til at gælde for enhver kode. Disse programmer " gå gennem " et program , som det kører , holde styr på variabler og betingelser, indtil der opstår en fejl . Når fejlen opstår , vil debugger returnere oplysninger om fejlen. Også mange debuggers tillader programmører at " gå gennem " code én linje ad gangen, så programmøren kan undersøge udførelsen af koden. Til Linux-systemer , besidder GNU-projektet Debugger ( gdb ) denne funktionalitet ( gnu.org /s /gdb ), mens Windows- programmører kan bruge debugger inkluderet i Visual Studio ( Microsoft.com /express ) .
< Br >
Debuggers og stoppunkter
debugging software anvendes begrebet " breakpoints ", hvor en programmør kan stoppe et program mid- udførelse under debugging at bestemme kode tilstand. For eksempel, hvis koden nedenfor nedbrud på et tidspunkt måske programmøren ikke, hvor eller når fejlen opstod
int i, j ; .
I = getNumber ();
j = j + i;
j = modify ( i, j ),
det kunne have fundet sted i getNumber funktion, ændre funktionen , eller et sted tidligere i hovedprogrammet . Et breakpoint kan indstilles et sted, hvor kode stopper før fejlen , således at programmøren kan evaluere betingelser, før fejlen opstår .
Stepping gennem kode
Complex debugging kan involvere gå linje for linje gennem kode . Når programmøren identificerer en mulig fejl placering, kan han køre programmet kode linje for linje , holde styr på tilstanden af programmet frem til der opstår en fejl . Dette gør det muligt for programmøren at lokalisere den nøjagtige placering af programmet og gå tilbage for at se, hvor betingelserne for at fejlen opstod . I dette eksempel , salg
i = getNumber ();
j = j + i;
j = modify ( i, j ),
hvis fejlen sker på "Rediger "-funktionen , så programmøren kan bakke , og hun vil opdage at "jeg " modtog en dårlig værdi fra " getNumber " og dermed ødelagt " ændre ".
< br >