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: Distributed System | Distributed Computing | Cluster Computing | Cloud Computing | Grid Computing 2024, Lipiec
Anonim

Debugger a kompilator

Ogólnie rzecz biorąc, kompilator to program komputerowy, który odczytuje program napisany w jednym języku, zwanym językiem źródłowym, i tłumaczy go na inny język, zwany językiem docelowym. Tradycyjnie język źródłowy był językiem wysokiego poziomu, takim jak C++, a język docelowy był językiem niskiego poziomu, takim jak język asembler. Debuger to program komputerowy, który służy do wyszukiwania błędów/błędów w innych programach. Debuger umożliwia programiście zatrzymanie wykonywania programu w określonym punkcie i zbadanie cech, takich jak wartości zmiennych w tym punkcie.

Co to jest debuger?

Debugger to program komputerowy używany do wyszukiwania błędów/błędów w innych programach. Debuger umożliwia wykonanie programu i sprawdzenie każdego kroku w wykonaniu programu. Umożliwia także 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 w upewnieniu się, że jej program zachowuje się poprawnie oraz w identyfikacji błędów w kodzie. Większość debuggerów umożliwia wykonywanie programu krok po kroku (nazywane również krokami pojedynczym), zatrzymując się w celu zbadania bieżącego stanu programu poprzez podanie punktu przerwania i śledzenie wartości zmiennych. Niektóre zaawansowane debugery 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 debugerów to GNU Debugger (GDB), Microsoft Visual Studio Debugger itp.

Co to jest kompilator?

Kompilator to program komputerowy, który odczytuje program napisany w jednym języku, zwanym językiem źródłowym, i tłumaczy go na inny język, zwany językiem docelowym. Najczęściej językiem źródłowym jest język wysokiego poziomu, a językiem docelowym jest język niskiego poziomu. Tak więc ogólnie kompilatory mogą być postrzegane jako tłumacze, którzy tłumaczą z jednego języka na inny. Ponadto kompilatory przeprowadzają pewne optymalizacje kodu. Typowy kompilator składa się z kilku głównych komponentów. Pierwszym elementem jest skaner (znany również jako analizator leksykalny). Scanner odczytuje program i konwertuje go na ciąg tokenów. Drugim składnikiem jest parser. Konwertuje ciąg tokenów do drzewa parsowania (lub abstrakcyjnego drzewa składni), które przechwytuje strukturę składniową programu. Kolejnym elementem są procedury semantyczne, które interpretują semantykę struktury syntaktycznej. Następnie następuje optymalizacja kodu i końcowe generowanie kodu.

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

Debugger to program komputerowy, który służy do wyszukiwania błędów/błędów w innych programach, podczas gdy kompilator to program komputerowy, który odczytuje 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ładni i innych błędów czasu kompilacji, ale debugery zapewniają więcej możliwości (takich jak monitorowanie pamięci) do wykrywania błędów w programach. Te dwa to dwa różne programy, ale w większości przypadków debuger i kompilator są zintegrowane w jednym pakiecie.

Zalecana: