Forskjellen mellom debugger og kompilator

Forskjellen mellom debugger og kompilator
Forskjellen mellom debugger og kompilator

Video: Forskjellen mellom debugger og kompilator

Video: Forskjellen mellom debugger og kompilator
Video: Auditing - What are Reviews? 2024, November
Anonim

Debugger vs Compiler

Generelt sett er kompilator 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. Tradisjonelt var kildespråk et språk på høyt nivå som C++ og målspråk var et språk på lavt nivå som for eksempel assembly-språk. Debugger er et dataprogram som brukes til å finne bugs/feil i andre programmer. Debugger lar en programmerer stoppe kjøringen av et program på et tidspunkt og undersøke egenskapene som variable verdier på det punktet.

Hva er en debugger?

Debugger er et dataprogram som brukes til å finne bugs/feil i andre programmer. Debugger gjør det mulig å kjøre et program og inspisere hvert trinn i programkjøringen. Det tillater også å stoppe kjøringen av programmet på et tidspunkt og endre noen variabelverdier og deretter fortsette kjøringen. Alle disse egenskapene er gitt for å hjelpe programmereren til å forsikre seg om at programmet hennes oppfører seg riktig og for å hjelpe til med å identifisere feil i koden. De fleste av debuggerne gir muligheten til å kjøre et program trinn for trinn (også k alt single stepping), pause for å undersøke den nåværende tilstanden til programmet ved å gi et bruddpunkt og spore variabelverdier. Noen avanserte debuggere lar programmereren hoppe over et sted som forårsaker et krasj eller en logisk feil i koden og fortsette kjøringen fra et annet sted. Noen av de populære feilsøkerne er GNU Debugger (GDB), Microsoft Visual Studio Debugger, osv.

Hva er en kompilator?

Compiler 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. Oftest er kildespråket et språk på høyt nivå og målspråket er et språk på lavt nivå. Så generelt kan kompilatorer sees på som oversettere som oversetter fra ett språk til et annet. I tillegg utfører kompilatorer noen optimaliseringer av koden. En typisk kompilator består av flere hovedkomponenter. Den første komponenten er skanneren (også kjent som den leksikale analysatoren). Skanner leser programmet og konverterer det til en rekke tokens. Den andre komponenten er parseren. Den konverterer strengen med tokens til et parse-tre (eller et abstrakt syntakstre), som fanger opp den syntaktiske strukturen til programmet. Neste komponent er de semantiske rutinene som tolker semantikken til den syntaktiske strukturen. Dette etterfølges av kodeoptimaliseringer og endelig kodegenerering.

Hva er forskjellen mellom en debugger og en kompilator?

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

Anbefalt: