Forskjell mellom Debugger og Compiler

Anonim

Debugger vs Compiler

Generelt er kompilatoren et dataprogram som leser et program skrevet på ett språk, som er kalt kildespråket, og oversetter det til et annet språk, som kalles målspråket. Tradisjonelt var kildespråk et språk på høyt nivå som C ++, og målspråket var et lavnivå språk, for eksempel monteringsspråk. Debugger er et dataprogram som brukes til å finne feil / feil i andre programmer. Debugger tillater en programmerer å stoppe utførelsen av et program på et punkt og undersøke egenskapene som variable verdier på det tidspunktet.

Hva er en Debugger?

Debugger er et dataprogram som brukes til å finne feil / feil i andre programmer. Debugger tillater utførelse av et program og inspiserer hvert trinn i programgjennomføringen. Det tillater også å stoppe utførelsen av programmet på et tidspunkt og endre noen variable verdier og deretter fortsette kjøringen. Alle disse evnene er gitt for å hjelpe programmøren til å sørge for at hennes program virker riktig og for å hjelpe til med å identifisere feil i koden. De fleste av debuggerne gir muligheten til å utføre et program trinn for trinn (også kalt single stepping), pause for å undersøke nåværende tilstand av programmet ved å gi et breakpoint og sporingsvariabelverdier. Noen avanserte debuggere tillater programmereren å hoppe over et sted som forårsaker en krasj eller en logisk feil i koden og fortsett å kjøre fra en annen plassering. Noen av de populære debuggers er GNU Debugger (GDB), Microsoft Visual Studio Debugger, etc.

Hva er en kompilator?

Kompilator er et dataprogram som leser et program skrevet på ett språk, som kalles kildespråket, og oversetter det til et annet språk, som kalles målspråket. Kildespråket er oftest et språk på høyt nivå og målspråket er et lavnivå språk. Så generelt kan kompilatorer bli sett på som oversettere som oversetter fra ett språk til et annet. I tillegg utfører kompilatorer noen optimaliseringer til koden. En typisk kompilator består av flere hovedkomponenter. Den første komponenten er skanneren (også kjent som den leksikalske analysatoren). Skanneren leser programmet og konverterer det til en streng med tokens. Den andre komponenten er parseren. Den konverterer strengen av tokens til et parse-tre (eller et abstrakt syntaks-tre), som fanger opp den syntaktiske strukturen til programmet. Neste komponent er de semantiske rutinene som tolker semantikken til den syntaktiske strukturen. Dette følges av kodeoptimaliseringer og endelig kodegenerering.

Hva er forskjellen mellom en Debugger og en Compiler?

Debugger er et dataprogram som brukes til å finne feil / feil i andre programmer, mens kompilatoren er et dataprogram som leser et program skrevet på ett språk og oversetter det til et annet språk.Kompilatorer har også mulighet til å oppdage syntaksfeil og andre kompileringsfeil, men debuggere gir flere muligheter (for eksempel overvåking av minnet) for å oppdage bugs i programmer. Disse to er to forskjellige programmer, men de fleste ganger er en debugger og en kompilator integrert i en enkelt pakke.