Hvordan spore forekomst av en klasse ved hjelp av en sonde i C ++

Hvordan spore forekomst av en klasse ved hjelp av en sonde i C ++


Debugging er en utfordrende delen av å skrive programvare. Det finnes mange teknikker tilgjengelig som hjelpe utvikleren med feilsøking, hvorav den ene er dynamisk sporing. Tracing gir deg detaljert informasjon om programmets gjennomføring og kan være svært nyttig i miljøer der ingen andre feilsøkingsverktøy er tilgjengelige. En utvikler kan bruke sporer for å sondere klasse funksjoner, ikke-klasse funksjoner og bibliotekrutiner. Sette opp en tracing miljøet krever spesifikk syntaks avhengig av spor verktøy, men det er noen begreper mange av disse verktøyene har til felles. Det er generelle trinnene du må ta for å sette opp en dynamisk spor av et C ++ klasse.

Bruksanvisning

Sette opp prober

1 Plasser sonder på enten inn- og utgangspunkter klasse funksjoner. I noen tracing rammer, er dette oppnås ved hjelp av et eget skript som inneholder prober for hver funksjon du ønsker å spore. Hver probe identifiserer klassen og funksjonsnavnet som det spor. Å plassere en sonde på inngangspunktet for en funksjon gjør det mulig å ta et øyeblikksbilde av funksjonen staten rett når den starter, og kan brukes til å samle inn data på argumenter som sendes til funksjonen. I motsetning til å plassere en sonde ved utkjørselen poenget med en funksjon gir deg informasjon om retur verdier av funksjonen. Ettersom dette trinnet er svært programspesifikke, må du ta litt tid å bestemme hvilke funksjoner krever prober og hva slags sonde er hensiktsmessig.

2 Fyll i kroppen av hver sonde. Skriv kode som gir nyttig debug informasjon. Denne koden vil avhenge av den aktuelle skriptspråket du har valgt verktøy bruker.

3 Kompilere kildekoden, hvis du ikke allerede har.

4 Kjør sporing programvare mens peker det i koden. Den sporing programvare vil utføre program og utgangsdata som det sonder. Når programvare utganger, så vil sporing program.

Et eksempel på hvordan du kjører et spor på kildekoden er gitt nedenfor. Vær oppmerksom på at dette bruker IBMs ProbeVue ​​programvare. Hvis du bruker et annet sett med sporing verktøy, vil det ha sin egen spesifikke syntaks og kan se noe som dette. I dette eksemplet er kompilert kode merket "program", og skriptet inneholder prober er merket "probes.e."

probevue -X ./program./probes.e