Różnica Między Debugerem A Kompilatorem

Różnica Między Debugerem A Kompilatorem
Różnica Między Debugerem A Kompilatorem

Wideo: Różnica Między Debugerem A Kompilatorem

Wideo: Różnica Między Debugerem A Kompilatorem
Wideo: #021 Środa dla świeżaka: język kompilowany, a interpretowany 2024, Może
Anonim

Debugger vs Compiler

Ogólnie rzecz biorąc, kompilator to program komputerowy, który czyta program napisany w jednym języku, zwanym językiem źródłowym, i tłumaczy go na inny język, nazywany językiem docelowym. Tradycyjnie językiem źródłowym był język wysokiego poziomu, taki jak C ++, a językiem docelowym był język niskiego poziomu, taki jak język asemblera. Debugger to program komputerowy używany do znajdowania błędów / błędów w innych programach. Debugger umożliwia programiście zatrzymanie wykonywania programu w danym punkcie i zbadanie cech, takich jak wartości zmiennych w tym punkcie.

Co to jest debugger?

Debugger to program komputerowy używany do znajdowania błędów / błędów w innych programach. Debugger umożliwia wykonanie programu i kontrolę każdego kroku w wykonaniu programu. Pozwala również na zatrzymanie wykonywania programu w pewnym momencie i zmianę niektórych wartości zmiennych, a następnie kontynuowanie wykonywania. Wszystkie te możliwości mają pomóc programiście upewnić się, że jego program działa poprawnie i pomóc w identyfikacji błędów w kodzie. Większość debuggerów zapewnia możliwość wykonywania programu krok po kroku (zwanego również krokiem pojedynczym), zatrzymując się w celu zbadania bieżącego stanu programu, zapewniając punkt przerwania i śledząc wartości zmiennych. Niektóre zaawansowane debuggery pozwalają programiście pominąć lokalizację, która powoduje awarię lub błąd logiczny w kodzie i kontynuować wykonywanie z innej lokalizacji. Niektóre z popularnych debuggerów to GNU Debugger (GDB), Microsoft Visual Studio Debugger itp.

Co to jest kompilator?

Kompilator to program komputerowy, który czyta program napisany w jednym języku, zwanym językiem źródłowym, i tłumaczy go na inny język, nazywany językiem docelowym. Najczęściej językiem źródłowym jest język wysokiego poziomu, a językiem docelowym jest język niskiego poziomu. Zatem generalnie kompilatory mogą być postrzegane jako tłumacze, którzy tłumaczą z jednego języka na inny. Ponadto kompilatory wykonują pewne optymalizacje kodu. Typowy kompilator składa się z kilku głównych komponentów. Pierwszym komponentem jest skaner (znany również jako analizator leksykalny). Skaner czyta program i konwertuje go na ciąg tokenów. Drugi składnik to parser. Konwertuje ciąg tokenów na drzewo parsowania (lub abstrakcyjne drzewo składniowe), które przechwytuje składniową strukturę programu. Następnym elementem są procedury semantyczne, które interpretują semantykę struktury składniowej. Następnie następuje optymalizacja kodu i ostateczna generacja kodu.

Jaka jest różnica między debuggerem a kompilatorem?

Debugger to program komputerowy używany do znajdowania błędów / błędów w innych programach, natomiast kompilator to program komputerowy, który czyta program napisany w jednym języku i tłumaczy go na inny język. Kompilatory mają również możliwość wykrywania błędów składniowych i innych błędów czasu kompilacji, ale debuggery zapewniają więcej możliwości (takich jak monitorowanie pamięci) w celu wykrywania błędów w programach. Te dwa to dwa różne programy, ale w większości przypadków debugger i kompilator są zintegrowane w jednym pakiecie.

Zalecane: