Debugger vs Compiler
ზოგადად, კომპილერი არის კომპიუტერული პროგრამა, რომელიც კითხულობს ერთ ენაზე დაწერილ პროგრამას, რომელსაც ეწოდება საწყისი ენა, და თარგმნის მას სხვა ენაზე, რომელსაც ეწოდება სამიზნე ენა. ტრადიციულად, საწყისი ენა იყო მაღალი დონის ენა, როგორიცაა C++ და სამიზნე ენა იყო დაბალი დონის ენა, როგორიცაა ასამბლეის ენა. Debugger არის კომპიუტერული პროგრამა, რომელიც გამოიყენება სხვა პროგრამებში შეცდომების/შეცდომის მოსაძებნად. Debugger საშუალებას აძლევს პროგრამისტს შეაჩეროს პროგრამის შესრულება კონკრეტულ წერტილში და შეისწავლოს ისეთი მახასიათებლები, როგორიცაა ცვლადის მნიშვნელობები ამ წერტილში.
რა არის Debugger?
Debugger არის კომპიუტერული პროგრამა, რომელიც გამოიყენება სხვა პროგრამებში შეცდომების/შეცდომის მოსაძებნად. Debugger საშუალებას გაძლევთ განახორციელოთ პროგრამა და შეამოწმოთ პროგრამის შესრულების თითოეული ნაბიჯი. ის ასევე საშუალებას გაძლევთ შეწყვიტოთ პროგრამის შესრულება რაღაც მომენტში და შეცვალოთ ზოგიერთი ცვლადი მნიშვნელობა და შემდეგ გააგრძელოთ შესრულება. ყველა ეს შესაძლებლობა უზრუნველყოფილია პროგრამისტის დასახმარებლად, დარწმუნდეს, რომ მისი პროგრამა სწორად იქცევა და დაეხმაროს კოდში არსებული შეცდომების იდენტიფიცირებას. გამართულთა უმეტესობა იძლევა პროგრამის ეტაპობრივად შესრულების შესაძლებლობას (ასევე უწოდებენ ერთ ნაბიჯს), შეჩერებულია პროგრამის მიმდინარე მდგომარეობის შესამოწმებლად წყვეტის წერტილის მიწოდებით და ცვლადის მნიშვნელობების თვალყურის დევნით. ზოგიერთი მოწინავე გამართვის საშუალებას აძლევს პროგრამისტს გამოტოვოს მდებარეობა, რომელიც იწვევს კოდის ავარიას ან ლოგიკურ შეცდომას და განაგრძოს შესრულება სხვა ადგილიდან. ზოგიერთი პოპულარული გამართვა არის GNU Debugger (GDB), Microsoft Visual Studio Debugger და ა.შ.
რა არის შემდგენელი?
კომპეილერი არის კომპიუტერული პროგრამა, რომელიც კითხულობს ერთ ენაზე დაწერილ პროგრამას, რომელსაც ეწოდება საწყისი ენა, და თარგმნის მას სხვა ენაზე, რომელსაც ეწოდება სამიზნე ენა. ყველაზე ხშირად, საწყისი ენა არის მაღალი დონის ენა, ხოლო სამიზნე ენა დაბალი დონის ენაა. ასე რომ, ზოგადად შემდგენლები შეიძლება ჩაითვალოს მთარგმნელებად, რომლებიც თარგმნიან ერთი ენიდან მეორეზე. გარდა ამისა, შემდგენელები ახორციელებენ კოდის გარკვეულ ოპტიმიზაციას. ტიპიური შემდგენელი შედგება რამდენიმე ძირითადი კომპონენტისგან. პირველი კომპონენტია სკანერი (ასევე ცნობილია, როგორც ლექსიკური ანალიზატორი). სკანერი კითხულობს პროგრამას და გარდაქმნის მას ტოკენების სტრიქონად. მეორე კომპონენტი არის პარსერი. ის აკონვერტებს ჟეტონების სტრიქონს გაანალიზებულ ხედ (ან აბსტრაქტულ სინტაქსურ ხედ), რომელიც ასახავს პროგრამის სინტაქსურ სტრუქტურას. შემდეგი კომპონენტია სემანტიკური რუტინები, რომლებიც ინტერპრეტაციას უკეთებენ სინტაქსური სტრუქტურის სემანტიკას. ამას მოჰყვება კოდის ოპტიმიზაცია და საბოლოო კოდის გენერაცია.
რა განსხვავებაა Debugger-სა და Compiler-ს შორის?
Debugger არის კომპიუტერული პროგრამა, რომელიც გამოიყენება სხვა პროგრამებში შეცდომების/შეცდომის მოსაძებნად, ხოლო შემდგენელი არის კომპიუტერული პროგრამა, რომელიც კითხულობს ერთ ენაზე დაწერილ პროგრამას და თარგმნის მას სხვა ენაზე. შემდგენლებს ასევე აქვთ სინტაქსური შეცდომების და სხვა კომპილაციის დროის შეცდომის გამოვლენის შესაძლებლობა, მაგრამ გამართულები უზრუნველყოფენ უფრო მეტ შესაძლებლობებს (როგორიცაა მეხსიერების მონიტორინგი) პროგრამებში შეცდომების აღმოსაჩენად. ეს ორი არის ორი განსხვავებული პროგრამა, მაგრამ უმეტეს შემთხვევაში, debugger და კომპილერი ინტეგრირებულია ერთ პაკეტში.