Debugger vs Compiler
Në përgjithësi, përpiluesi është një program kompjuterik që lexon një program të shkruar në një gjuhë, e cila quhet gjuha burimore, dhe e përkthen atë në një gjuhë tjetër, e cila quhet gjuha e synuar. Tradicionalisht, gjuha burimore ishte një gjuhë e nivelit të lartë si C++ dhe gjuha e synuar ishte një gjuhë e nivelit të ulët si gjuha e asamblesë. Debugger është një program kompjuterik që përdoret për të gjetur gabime/gabime në programe të tjera. Debugger lejon një programues të ndalojë ekzekutimin e një programi në një pikë dhe të ekzaminojë karakteristikat si vlerat e variablave në atë pikë.
Çfarë është një korrigjues?
Debugger është një program kompjuterik që përdoret për të gjetur gabime/gabime në programe të tjera. Debugger lejon ekzekutimin e një programi dhe inspektimin e çdo hapi në ekzekutimin e programit. Gjithashtu lejon ndalimin e ekzekutimit të programit në një moment dhe ndryshimin e disa vlerave të variablave dhe më pas vazhdimin e ekzekutimit. Të gjitha këto aftësi ofrohen për të ndihmuar programuesin të sigurohet që programi i tij po sillet siç duhet dhe për të ndihmuar në identifikimin e gabimeve në kod. Shumica e korrigjuesve ofrojnë mundësinë për të ekzekutuar një program hap pas hapi (i quajtur edhe hap pas hapi), duke pushuar për të ekzaminuar gjendjen aktuale të programit duke ofruar një pikë ndërprerjeje dhe duke ndjekur vlerat e variablave. Disa korrigjues të avancuar i lejojnë programuesit të kapërcejë një vendndodhje që shkakton një përplasje ose një gabim logjik në kod dhe të vazhdojë ekzekutimin nga një vendndodhje tjetër. Disa nga korrigjuesit e njohur janë GNU Debugger (GDB), Microsoft Visual Studio Debugger, etj.
Çfarë është një përpilues?
Përpiluesi është një program kompjuterik që lexon një program të shkruar në një gjuhë, e cila quhet gjuha burimore, dhe e përkthen në një gjuhë tjetër, e cila quhet gjuha e synuar. Më shpesh, gjuha burimore është një gjuhë e nivelit të lartë dhe gjuha e synuar është një gjuhë e nivelit të ulët. Pra, në përgjithësi përpiluesit mund të shihen si përkthyes që përkthejnë nga një gjuhë në tjetrën. Përveç kësaj, përpiluesit kryejnë disa optimizime të kodit. Një përpilues tipik përbëhet nga disa komponentë kryesorë. Komponenti i parë është skaneri (i njohur edhe si analizues leksikor). Skaneri lexon programin dhe e konverton atë në një varg shenjash. Komponenti i dytë është analizuesi. Ai konverton vargun e shenjave në një pemë analizuese (ose një pemë sintaksore abstrakte), e cila kap strukturën sintaksore të programit. Komponenti tjetër janë rutinat semantike që interpretojnë semantikën e strukturës sintaksore. Kjo pasohet nga optimizimet e kodit dhe gjenerimi përfundimtar i kodit.
Cili është ndryshimi midis një korrigjuesi dhe një përpiluesi?
Debugger është një program kompjuterik që përdoret për të gjetur gabime/gabime në programe të tjera, ndërsa përpiluesi është një program kompjuterik që lexon një program të shkruar në një gjuhë dhe e përkthen në një gjuhë tjetër. Përpiluesit kanë gjithashtu aftësinë për të zbuluar gabime sintaksore dhe gabime të tjera të kohës së përpilimit, por korrigjuesit ofrojnë më shumë aftësi (si monitorimi i kujtesës) për të zbuluar gabimet në programe. Këta të dy janë dy programe të ndryshme, por në shumicën e rasteve, një korrigjues dhe një përpilues integrohen në një paketë të vetme.