Дбаглагч болон Хөрвүүлэгч
Ерөнхийдөө хөрвүүлэгч гэдэг нь эх хэл гэж нэрлэгддэг нэг хэл дээр бичигдсэн программыг уншиж, өөр хэл рүү хөрвүүлдэг компьютерийн программ бөгөөд үүнийг зорилтот хэл гэж нэрлэдэг. Уламжлал ёсоор эх хэл нь C++ зэрэг өндөр түвшний хэл, зорилтот хэл нь ассемблер хэл зэрэг доод түвшний хэл байв. Дебаггер нь бусад програмын алдаа/алдааг илрүүлэхэд ашигладаг компьютерийн програм юм. Дебаггер нь программист тухайн цэг дээр програмын гүйцэтгэлийг зогсоож, тухайн цэг дэх хувьсагчийн утгууд зэрэг шинж чанарыг шалгах боломжийг олгодог.
Дабаглагч гэж юу вэ?
Debugger нь бусад програмын алдаа/алдааг олоход ашигладаг компьютерийн программ юм. Дебаггер нь програмыг ажиллуулж, програмын гүйцэтгэлийн алхам бүрийг шалгах боломжийг олгодог. Мөн энэ нь програмын гүйцэтгэлийг хэзээ нэгэн цагт зогсоож, зарим хувьсагчийн утгыг өөрчлөх, дараа нь гүйцэтгэлийг үргэлжлүүлэх боломжийг олгодог. Эдгээр бүх боломжууд нь программист програмаа зөв ажиллаж байгаа эсэхийг шалгах, кодын алдааг илрүүлэхэд туслах зорилгоор хангагдсан болно. Ихэнх дибаг хийгчид програмыг алхам алхмаар (мөн нэг алхам гэж нэрлэдэг) гүйцэтгэх боломжийг олгодог бөгөөд завсарлага өгөх цэгийг өгч, хувьсагчийн утгыг хянах замаар програмын одоогийн төлөвийг шалгахын тулд түр зогсоодог. Зарим дэвшилтэт дибаг хийгчид программист кодын эвдрэл эсвэл логик алдаа үүсгэдэг байршлыг алгасаад өөр газраас үргэлжлүүлэн гүйцэтгэх боломжийг олгодог. Алдартай дибагчдын зарим нь GNU Debugger (GDB), Microsoft Visual Studio Debugger гэх мэт.
Хэвлэгч гэж юу вэ?
Хэвлэгч гэдэг нь эх хэл гэж нэрлэгддэг нэг хэлээр бичигдсэн программыг уншиж, өөр хэл рүү хөрвүүлдэг компьютерийн программ бөгөөд үүнийг зорилтот хэл гэж нэрлэдэг. Ихэнхдээ эх хэл нь өндөр түвшний хэл, зорилтот хэл нь доод түвшний хэл юм. Тиймээс ерөнхийд нь хөрвүүлэгчдийг нэг хэлээс нөгөө хэл рүү орчуулдаг орчуулагч гэж үзэж болно. Нэмж дурдахад хөрвүүлэгчид кодын зарим оновчлолыг гүйцэтгэдэг. Ердийн хөрвүүлэгч нь хэд хэдэн үндсэн бүрэлдэхүүн хэсгүүдээс бүрдэнэ. Эхний бүрэлдэхүүн хэсэг нь сканнер (мөн лексик анализатор гэгддэг) юм. Сканнер програмыг уншиж, тэмдэгтийн мөр болгон хөрвүүлдэг. Хоёрдахь бүрэлдэхүүн хэсэг нь задлан шинжлэгч юм. Энэ нь токенуудын мөрийг задлан шинжлэх мод (эсвэл хийсвэр синтакс мод) болгон хувиргадаг бөгөөд энэ нь програмын синтаксик бүтцийг агуулдаг. Дараагийн бүрэлдэхүүн хэсэг нь синтаксийн бүтцийн семантикийг тайлбарладаг семантик горимууд юм. Үүний дараа кодын оновчлол болон эцсийн кодыг бий болгоно.
Дбаглагч болон Хөрвүүлэгч хоёрын ялгаа нь юу вэ?
Debugger нь бусад програмын алдаа/алдааг олоход ашигладаг компьютерийн программ бол хөрвүүлэгч нь нэг хэл дээр бичигдсэн программыг уншиж өөр хэл рүү хөрвүүлдэг компьютерийн программ юм. Хөрвүүлэгчид мөн синтаксийн алдаа болон бусад эмхэтгэх цагийн алдааг илрүүлэх чадвартай боловч дибаг хийгчид програмын алдааг илрүүлэх илүү олон боломжуудыг (санах ойг хянах гэх мэт) өгдөг. Энэ хоёр нь хоёр өөр програм боловч ихэнх тохиолдолд дибаглагч болон хөрвүүлэгчийг нэг багцад нэгтгэдэг.