? Teknikere har brukt begrepet "bug " for å beskrive mekaniske eller elektroniske feil siden slutten av det 19. århundre , men begrepet "debugging " ble bokstavelig i 1945 da en møll forårsaket en fast stafett i en datamaskin prosjekt ved Harvard University. Dagens bugs er vanligvis den virtuelle sortere og programmerere må arbeide nøyaktig og flittig for å eliminere dem . Identifisere Bugs
fleste kommersielle programmer gjennomgå testing for å identifisere og korrigere så mange feil som mulig før programvaren skip til brukerne . Disse feilene kan være åpenbare mangler som oppstår under normal aktivitet , eller de kan dukke opp i spesielle situasjoner , forårsaket av en uventet handling fra brukeren . Når dokumentere en bug, testere rekord så mye informasjon som mulig om tilstanden til programmet da feilen oppstod , slik at programmerere å gjenskape den.
Replication
gang en tester rapporterer en feil , forsøker en koder for å gjenskape den ved å utføre de samme handlingene testeren tok. Hvis det samme problemet oppstår , prøver koder for å identifisere problemet og tenke ut en løsning . Noen ganger kan en bug kan være vanskelig å gjenskape , men på grunn av et bestemt sett av omstendigheter som forårsaket feilen eller fra ufullstendig informasjon fra testeren .
Debuggere
< p> en debugger er programvare eller en modus som lar en koder til å overvåke et program som den utfører . Debuggere spore minnebruk , registrer verdier og kan tillate brukeren å stanse og manipulere prosesser for å identifisere defekter i koden henrettelse . Disse programmene også ofte inneholde etablering av spesifikke testmiljøer , la programmerere sted spesifikke minneverdier å simulere forholdene som førte til en rapportert bug . De inneholder også omfattende logging og dokumentasjon funksjoner , for å gi så mye informasjon som mulig om kode konflikter og feil som de skjer .
Andre bruksområder
Debugging programmer også tillate en erfaren og talentfull koder for å reverse-engineering et ukjent program uten tilgang til kildekoden , selv om denne prosessen er mye vanskeligere enn debugging kjente koden . Anti -malware programmerere, for eksempel, bruker debugging verktøy for å lære om oppførselen til ondsinnede programmer ved å identifisere triggere og svake punkter , før utarbeide beskyttelse og fjerning retningslinjer.