Debugger va Compiler
Umuman olganda, kompilyator - bu bir tilda yozilgan dasturni o'qiydigan va uni manba til deb ataladigan boshqa tilga tarjima qiladigan kompyuter dasturi. An'anaga ko'ra, manba til C++ kabi yuqori darajadagi til edi va maqsadli til assembler tili kabi past darajadagi til edi. Debugger - bu boshqa dasturlardagi xato/xatolarni topish uchun ishlatiladigan kompyuter dasturi. Nosozliklarni tuzatuvchi dasturchiga dastur bajarilishini bir nuqtada to‘xtatish va shu nuqtada o‘zgaruvchan qiymatlar kabi xususiyatlarni tekshirish imkonini beradi.
Debugger nima?
Debugger - bu boshqa dasturlardagi xato/xatolarni topish uchun ishlatiladigan kompyuter dasturi. Nosozliklarni tuzatuvchi dasturni bajarish va dastur bajarilishining har bir bosqichini tekshirish imkonini beradi. Bundan tashqari, u bir vaqtning o'zida dasturning bajarilishini to'xtatishga va ba'zi o'zgaruvchan qiymatlarni o'zgartirishga va keyin bajarishni davom ettirishga imkon beradi. Bu imkoniyatlarning barchasi dasturchiga o'z dasturining to'g'ri ishlayotganiga ishonch hosil qilish va koddagi xatolarni aniqlashda yordam berish uchun taqdim etilgan. Nosozliklarni tuzatuvchilarning ko'pchiligi dasturni bosqichma-bosqich bajarish imkoniyatini beradi (shuningdek, bitta qadam deb ataladi), to'xtash nuqtasini taqdim etish va o'zgaruvchan qiymatlarni kuzatish orqali dasturning joriy holatini tekshirish uchun pauza qilish. Ba'zi ilg'or tuzatuvchilar dasturchiga kodda xato yoki mantiqiy xatolikka olib keladigan joyni o'tkazib yuborishga va boshqa joydan bajarishni davom ettirishga imkon beradi. Ba'zi mashhur tuzatuvchilar: GNU Debugger (GDB), Microsoft Visual Studio Debugger va boshqalar.
Kompilyator nima?
Kompilyator - bu manba til deb ataladigan bir tilda yozilgan dasturni o'qiydigan va uni maqsadli til deb ataladigan boshqa tilga tarjima qiladigan kompyuter dasturi. Ko'pincha, manba tili yuqori darajadagi til va maqsadli til past darajadagi tildir. Shunday qilib, umuman olganda kompilyatorlarni bir tildan boshqa tilga tarjima qiluvchi tarjimonlar sifatida ko'rish mumkin. Bundan tashqari, kompilyatorlar kodni optimallashtirishni amalga oshiradilar. Oddiy kompilyator bir nechta asosiy komponentlardan iborat. Birinchi komponent skaner (leksik analizator deb ham ataladi). Skaner dasturni o'qiydi va uni tokenlar qatoriga aylantiradi. Ikkinchi komponent parserdir. U tokenlar qatorini dasturning sintaktik tuzilishini qamrab oluvchi tahlil daraxtiga (yoki mavhum sintaksis daraxtiga) aylantiradi. Keyingi komponent sintaktik strukturaning semantikasini sharhlovchi semantik tartiblardir. Shundan so'ng kodni optimallashtirish va yakuniy kod yaratish amalga oshiriladi.
Debugger va kompilyator oʻrtasidagi farq nima?
Debugger - bu boshqa dasturlardagi xato/xatolarni topish uchun ishlatiladigan kompyuter dasturi, kompilyator esa bir tilda yozilgan dasturni o'qib, uni boshqa tilga tarjima qiladigan kompyuter dasturidir. Kompilyatorlar, shuningdek, sintaksis xatolarini va boshqa kompilyatsiya vaqtidagi xatolarni aniqlash imkoniyatiga ega, ammo tuzatuvchilar dasturlardagi xatolarni aniqlash uchun ko'proq imkoniyatlarni (masalan, xotirani kuzatish) beradi. Bu ikki xil dastur, lekin ko'pincha tuzatuvchi va kompilyator bitta paketga birlashtirilgan.