Forskel mellem debugger og compiler

Anonim

Debugger vs Compiler

Generelt er compiler et computerprogram, der læser et program skrevet på et sprog, hvilket er kaldte kildesproget og oversætter det til et andet sprog, som kaldes målsproget. Traditionelt var kildesprog et sprog på højt niveau som C ++ og målsprog var et lavt niveau sprog som samlingssprog. Debugger er et computerprogram, der bruges til at finde fejl / fejl i andre programmer. Debugger tillader en programmør at stoppe udførelsen af ​​et program på et punkt og undersøge egenskaberne som variable værdier på det tidspunkt.

Hvad er en Debugger?

Debugger er et computerprogram, der bruges til at finde fejl / fejl i andre programmer. Debugger tillader udførelse af et program og inspektion af hvert trin i programgennemførelsen. Det tillader også at stoppe udførelsen af ​​programmet på et tidspunkt og ændre nogle variable værdier og derefter fortsætte udførelsen. Alle disse funktioner er til rådighed for at hjælpe programmøren til at sikre sig, at hendes program virker korrekt og hjælper med at identificere fejl i koden. De fleste af debuggerne giver mulighed for at udføre et program trin for trin (også kaldet single step), pauser for at undersøge den aktuelle tilstand af programmet ved at tilvejebringe et breakpoint og tracking variable værdier. Nogle avancerede debuggere tillader programmøren at springe over et sted, der forårsager et sammenbrud eller en logisk fejl i koden og fortsætte udførelsen fra en anden placering. Nogle af de populære debuggere er GNU Debugger (GDB), Microsoft Visual Studio Debugger, etc.

Hvad er en kompilator?

Compiler er et computerprogram, der læser et program skrevet på et sprog, der kaldes kildesproget, og oversætter det til et andet sprog, som kaldes målsproget. Kildesproget er oftest et sprog på højt niveau, og målsproget er et lavt niveau sprog. Så generelt kan kompilatorer ses som oversættere, der oversætter fra et sprog til et andet. Derudover udfører kompilatorer nogle optimeringer til koden. En typisk kompilator består af flere hovedkomponenter. Den første komponent er scanneren (også kendt som den leksikalske analysator). Scanneren læser programmet og konverterer det til en række tokens. Den anden komponent er parseren. Det konverterer strengens tokens til et parse-træ (eller et abstrakt syntaks-træ), som fanger programmets syntaktiske struktur. Næste komponent er de semantiske rutiner, som fortolker semantikken i den syntaktiske struktur. Dette efterfølges af kodeoptimeringer og endelig kodegenerering.

Hvad er forskellen mellem en debugger og en compiler?

Debugger er et computerprogram, der bruges til at finde fejl / fejl i andre programmer, mens compiler er et computerprogram, der læser et program skrevet på et sprog og oversætter det til et andet sprog.Compilers har også mulighed for at opdage syntaksfejl og andre kompileringstidsfejl, men debuggere giver flere muligheder (som f.eks. Overvågning af hukommelsen) for at registrere bugs i programmer. Disse to er to forskellige programmer, men de fleste gange er en debugger og en kompilator integreret i en enkelt pakke.