Разлика между Debugger и Compiler

Debugger vs Compiler

По принцип компилаторът е компютърна програма, която чете програма, написана на един език, който се нарича източник и го превежда на друг език, който се нарича целевия език. Традиционно езикът на източник е език на високо ниво като C ++, а целевият език е език на ниско ниво, като език за сглобяване. Debugger е компютърна програма, която се използва за намиране на грешки / грешки в други програми. Debugger позволява на програмист да спре изпълнението на програма в дадена точка и да проучи характеристиките като променливи стойности в този момент.

Какво е Debugger?

Debugger е компютърна програма, която се използва за намиране на грешки / грешки в други програми. Отладчикът позволява да се изпълни програма и да се провери всяка стъпка в изпълнението на програмата. Той също така позволява да се спре изпълнението на програмата в даден момент и да се променят някои променливи стойности и след това да се продължи изпълнението. Всички тези възможности са предоставени, за да помогнат на програмиста да се увери, че програмата й се държи правилно и да помогне при идентифицирането на грешки в кода. Повечето от грешки предоставят възможност за изпълнение на програма стъпка по стъпка (наричана също единична стъпка), като се прави пауза, за да се проучи текущото състояние на програмата, като се осигури точка на прекъсване и проследяване на променливи стойности. Някои напреднали грешки позволяват на програмиста да пропусне местоположение, което причинява срив или логическа грешка в кода и да продължи изпълнението от друго място. Някои от популярните дебъгъри са GNU Debugger (GDB), Microsoft Visual Studio Debugger и т.н..

Какво е компилатор?

Компилаторът е компютърна програма, която чете програма, написана на един език, който се нарича източник и го превежда на друг език, който се нарича целевия език. Най-често изходният език е език на високо ниво, а целевият език е език на ниско ниво. Така че, като цяло компилаторите могат да се разглеждат като преводачи, които превеждат от един език на друг. В допълнение компилаторите извършват някои оптимизации на кода. Типичният компилатор е съставен от няколко основни компонента. Първият компонент е скенерът (известен още като лексикален анализатор). Scanner чете програмата и я преобразува в низ от символи. Вторият компонент е парсера. Той преобразува низ от маркери в дърво на разбор (или абстрактно синтаксично дърво), което улавя синтактичната структура на програмата. Следващ компонент са семантичните процедури, които интерпретират семантиката на синтактичната структура. Следва оптимизация на кода и генериране на окончателен код.

Каква е разликата между Debugger и Compiler?

Debugger е компютърна програма, която се използва за намиране на грешки / грешки в други програми, докато компилаторът е компютърна програма, която чете програма, написана на един език и я превежда на друг език. Компилаторите също имат възможност за откриване на синтактични грешки и други грешки във времето за компилиране, но грешките за отстраняване на грешки предоставят повече възможности (като наблюдение на паметта) за откриване на грешки в програмите. Тези две са две различни програми, но повечето пъти дебъгер и компилатор са интегрирани в един пакет.