Ingen dataprogram noensinne fungerer som forutsatt på første forsøk . Programmerere gjør feil , som kan variere fra skrivefeil , til feil som blir gjort fordi programmereren ikke forstår noe, til dokumentasjon feil , til feil i Perl selv. Når et program går galt , finnes det en rekke teknikker for å debug den. Instruksjoner
Debug Perl programmer manuelt
en
Bruk print uttalelser . Dette er den mest primitive måten å feilsøke Perl programmer. Hvis du vet hvor programmet går galt , sette noen trykte uttalelser i å printe ut . Husk å ta disse trykte uttalelser ut etter du er ferdig, eller i det minste kommentere dem ut .
2
Gå gjennom programmet i hodet og sammenligne hva verdiene skal være til hva de faktisk er når programmet kjører .
3
Aktiver advarsler , fra kommando- linjen med -w bryteren på shebang linje ( det er #! /usr /bin /perl linje på toppen ) med -w bryteren eller med "Bruk Advarsler ; " direktiv . "Bruk advarsler ; " . Direktivet vil fungere på alle plattformer , mens noen plattformer ignorere shebang linje, noe som gjør det så advarsler kan eksistere som du ikke ville vite om
4
Insister på ingen advarsler , i stedet behandle advarsler som feil . Selv om du kanskje vet hvorfor en advarsel oppstår, og at det ikke er en big deal akkurat nå , kanskje en fremtidig versjon av Perl nedvurdere eller endre denne atferden - i så fall at advarselen bare brøt programmet . Perl programmer som kjøres uten advarsler vil ha færre bugs.
Bruk Perl Debugger
5
Start Perl debugger . Begynn perl manuelt med perl kommandoen og bruke -d -bryteren , etterfulgt av skriptet og noen argumenter du ønsker å passere til skriptet : " perl - d myscript.pl arg1 arg2 "
6
List programmet , som det er lettere å se koden i debugger når du feilsøker det og trenger linjenummer å angi stoppunkt . Du kan liste opp noen eller alle av programmet med l kommandoen. Du kan angi en linje nummer, er et utvalg av linjenummer eller en funksjon navn til listen.
7
Set stoppunkter med " b "-kommandoen i deler av koden du tror brutt. Stoppunkter fortelle debugger for å stoppe debugging når den når den linjen eller funksjon . De kan settes på linjer eller funksjoner , og kan ha vilkår knyttet . For eksempel vil angi et stoppunkt på linje 531 med tilstanden " $ a> 10 " , ville du bruke følgende kommando: "b 531 $ a> 10 "
8
Kjør programmet , bruke " r "-kommandoen . Dette vil kjøre programmet inntil en stoppunkt er nådd .
9
Step gjennom programmet . Når et stoppunkt har stoppet programmet , trinn gjennom programmet linje for linje med " n "-kommandoen . Bruk denne til å isolere der programmet er brutt.