? Teknikere har brugt udtrykket "bug " til at beskrive mekaniske eller elektroniske fejl siden slutningen af det 19. århundrede, men udtrykket " debugging " blev bogstavelig i 1945, hvor et møl forårsagede en stak relæ i en computer projekt på Harvard University. Dagens bugs er normalt den virtuelle sortere og programmører skal arbejde omhyggeligt og ihærdigt på at fjerne dem. Identificering Bugs
fleste kommercielle programmer testes med at identificere og korrigere så mange fejl som muligt, før de software skibe til brugerne. Disse fejl kan være åbenlyse mangler , der opstår under normal aktivitet , eller de kan dukke op i specifikke situationer , forårsaget af en uventet bruger handling. Ved dokumentation en fejl , testere rekord så mange oplysninger som muligt om programmets tilstand da fejlen opstod , for at tillade coders at kopiere den .
Replication
Når en tester rapporterer en fejl , en koder forsøger at replikere ved at udføre de samme handlinger testeren tog. Hvis det samme problem opstår , coder forsøger at identificere problemet og udtænke en løsning . Nogle gange kan en bug kan være svært at genskabe , men på grund af et bestemt sæt af omstændigheder, der forårsagede fejlen eller fra ufuldstændige oplysninger fra testeren .
Debuggers
< p> en debugger er software eller en tilstand, som gør det muligt for en koder til at overvåge et program , som det udfører . Debuggers spore hukommelsesforbrug , tilmeld værdier, og kan gøre det muligt for brugeren at standse og manipulere processer til at identificere fejl i koden henrettelse . Disse programmer også hyppigt indslag oprettelse af specifikke testmiljøer , lade kodere etablere specifikke hukommelsesværdier at simulere de forhold, der førte til en rapporteret bug . De indeholder også en omfattende skovhugst og dokumentation features , for at give så mange oplysninger som muligt om kode konflikter og fejl , som de sker.
Andre anvendelser
Debugging programmer også tillade en erfarne og talentfulde coder til at reverse engineering en uvant program uden adgang til dens kildekode , selv om denne proces er meget vanskeligere end debugging kendte kode. Anti- malware kodere , for eksempel, bruge debugging værktøjer til at lære om adfærd ondsindede programmer ved at identificere udløser og svage punkter , før udtænke og fjernelse retningslinjer.