تفاوت بین دیباگر و کامپایلر

تفاوت بین دیباگر و کامپایلر
تفاوت بین دیباگر و کامپایلر

تصویری: تفاوت بین دیباگر و کامپایلر

تصویری: تفاوت بین دیباگر و کامپایلر
تصویری: ویدیوی خوابیدن مردان اطلاعاتی رژیم در بین زنان زندانی 2024, جولای
Anonim

Debugger vs Compiler

به طور کلی، کامپایلر یک برنامه کامپیوتری است که برنامه ای را که به یک زبان نوشته شده است، که به آن زبان مبدأ می گویند، می خواند و آن را به زبان دیگری که به آن زبان مقصد می گویند، ترجمه می کند. به طور سنتی، زبان مبدأ یک زبان سطح بالا مانند C++ و زبان مقصد یک زبان سطح پایین مانند زبان اسمبلی بود. Debugger یک برنامه کامپیوتری است که برای یافتن باگ/خطا در برنامه های دیگر استفاده می شود. Debugger به برنامه نویس اجازه می دهد تا اجرای یک برنامه را در یک نقطه متوقف کند و ویژگی هایی مانند مقادیر متغیر را در آن نقطه بررسی کند.

Debugger چیست؟

Debugger یک برنامه کامپیوتری است که برای یافتن باگ/خطا در برنامه های دیگر استفاده می شود. Debugger اجازه اجرای یک برنامه و بازرسی هر مرحله از اجرای برنامه را می دهد. همچنین امکان توقف اجرای برنامه در نقطه ای و تغییر برخی از مقادیر متغیر و سپس ادامه اجرا را فراهم می کند. همه این قابلیت ها برای کمک به برنامه نویس برای اطمینان از عملکرد صحیح برنامه و کمک به شناسایی اشکالات در کد ارائه شده است. اکثر دیباگرها توانایی اجرای گام به گام یک برنامه (که به آن تک پله نیز گفته می شود) را ارائه می دهند و با ارائه یک نقطه شکست و ردیابی مقادیر متغیر، برای بررسی وضعیت فعلی برنامه مکث می کنند. برخی از دیباگرهای پیشرفته به برنامه نویس اجازه می دهند از مکانی که باعث خرابی یا خطای منطقی در کد می شود رد شود و اجرا را از مکان دیگری ادامه دهد. برخی از دیباگرهای محبوب عبارتند از GNU Debugger (GDB)، Microsoft Visual Studio Debugger، و غیره.

کامپایلر چیست؟

کامپایلر یک برنامه رایانه ای است که برنامه ای را که به یک زبان نوشته شده است، که به آن زبان مبدأ می گویند، می خواند و آن را به زبان دیگری که به آن زبان مقصد می گویند، ترجمه می کند. اغلب، زبان مبدأ یک زبان سطح بالا و زبان مقصد یک زبان سطح پایین است. بنابراین، به طور کلی کامپایلرها را می توان مترجمانی دانست که از زبانی به زبان دیگر ترجمه می کنند. علاوه بر این، کامپایلرها برخی بهینه‌سازی‌ها را برای کد انجام می‌دهند. یک کامپایلر معمولی از چندین جزء اصلی تشکیل شده است. اولین مؤلفه اسکنر (همچنین به عنوان تحلیلگر واژگانی شناخته می شود) است. اسکنر برنامه را می خواند و آن را به رشته ای از توکن ها تبدیل می کند. جزء دوم تجزیه کننده است. رشته توکن ها را به درخت تجزیه (یا درخت نحو انتزاعی) تبدیل می کند که ساختار نحوی برنامه را به تصویر می کشد. مؤلفه بعدی روال های معنایی است که معنایی ساختار نحوی را تفسیر می کند. به دنبال آن بهینه سازی کد و تولید کد نهایی انجام می شود.

تفاوت بین Debugger و Compiler چیست؟

Debugger یک برنامه کامپیوتری است که برای یافتن اشکالات/خطاها در برنامه های دیگر استفاده می شود، در حالی که کامپایلر یک برنامه کامپیوتری است که برنامه ای را که به یک زبان نوشته شده است می خواند و آن را به زبان دیگری ترجمه می کند. کامپایلرها همچنین توانایی تشخیص خطاهای نحوی و سایر خطاهای زمان کامپایل را دارند، اما دیباگرها قابلیت های بیشتری (مانند نظارت بر حافظه) برای شناسایی اشکالات در برنامه ها ارائه می دهند. این دو دو برنامه متفاوت هستند، اما اغلب اوقات، یک دیباگر و یک کامپایلر در یک بسته واحد ادغام می شوند.

توصیه شده: