Skillnad mellan Debugger och Compiler

Anonim

Debugger vs Compiler

Generellt är kompilatorn ett dataprogram som läser ett program skrivet på ett språk, vilket är kallas källspråket och översätter det till ett annat språk, vilket kallas målspråket. Traditionellt var källspråk ett språk på hög nivå som C ++ och målspråket var ett lågnivå språk, som monteringsspråk. Debugger är ett datorprogram som används för att hitta fel eller fel i andra program. Debugger tillåter en programmerare att stoppa utförandet av ett program vid en punkt och undersöka egenskaperna som variabla värden vid den punkten.

Vad är en debugger?

Debugger är ett datorprogram som används för att hitta fel eller fel i andra program. Debugger gör det möjligt att exekvera ett program och inspektera varje steg i programkörningen. Det låter också stoppa exekveringen av programmet vid något tillfälle och ändra vissa variabla värden och sedan fortsätta utförandet. Alla dessa funktioner tillhandahålls för att hjälpa programmeraren att se till att hennes program fungerar korrekt och att hjälpa till med att identifiera fel i koden. De flesta av debuggarna ger möjlighet att exekvera ett steg för steg (även kallat single-step), pausar för att undersöka programmets nuvarande tillstånd genom att tillhandahålla en brytpunkts- och spårningsvariabelvärden. Vissa avancerade debuggers låter programmeraren hoppa över en plats som orsakar en krasch eller ett logiskt fel i koden och fortsätter att köras från en annan plats. Några av de populära debuggarna är GNU Debugger (GDB), Microsoft Visual Studio Debugger, etc.

Vad är en kompilator?

Kompilatorn är ett datorprogram som läser ett program skrivet på ett språk, som kallas källspråket, och översätter det till ett annat språk, som kallas målspråket. Källspråket är oftast ett språk på hög nivå och målspråket är ett språk med låg nivå. Så i allmänhet kan kompilatorer ses som översättare som översätter från ett språk till ett annat. Dessutom gör kompilatörer några optimeringar till koden. En typisk kompilator består av flera huvudkomponenter. Den första komponenten är skannern (även känd som den lexiska analysatorn). Skannern läser programmet och konverterar det till en sträng tokens. Den andra komponenten är parsern. Den omvandlar strängen av tokens till ett parse-träd (eller ett abstrakt syntaktträd), som fångar programmets syntaktiska struktur. Nästa komponent är de semantiska rutiner som tolkar semantiken i den syntaktiska strukturen. Detta följs av kodoptimeringar och slutkodsgenerering.

Vad är skillnaden mellan en debugger och en kompilator?

Debugger är ett datorprogram som används för att hitta buggar / fel i andra program medan kompilatorn är ett datorprogram som läser ett program skrivet på ett språk och översätter det till ett annat språk.Kompilatorer har också möjlighet att upptäcka syntaxfel och andra kompileringstidsfel, men debuggers ger fler funktioner (till exempel övervakning av minnet) för att upptäcka fel i program. Dessa två är två olika program, men de flesta gånger är en debugger och en kompilator integrerade i ett enda paket.