Debugger vs Compiler
Általában a fordító egy számítógépes program, amely beolvassa az egyik nyelven írt programot, amelyet forrásnyelvnek neveznek, és lefordítja egy másik nyelvre, amelyet célnyelvnek neveznek. Hagyományosan a forrásnyelv egy magas szintű nyelv volt, például a C++, a célnyelv pedig egy alacsony szintű nyelv, például az assembly nyelv. A Debugger egy számítógépes program, amely más programok hibáinak megtalálására szolgál. A hibakereső lehetővé teszi a programozó számára, hogy egy adott ponton leállítsa a program végrehajtását, és megvizsgálja a jellemzőket, például a változó értékeket azon a ponton.
Mi az a hibakereső?
A Debugger egy számítógépes program, amely más programok hibáinak megtalálására szolgál. A Debugger lehetővé teszi egy program végrehajtását és a programvégrehajtás minden lépésének ellenőrzését. Lehetővé teszi a program végrehajtásának egy bizonyos ponton történő leállítását és néhány változó érték megváltoztatását, majd a végrehajtás folytatását. Mindezek a képességek segítik a programozót abban, hogy megbizonyosodjon arról, hogy programja megfelelően működik, és segít azonosítani a kódban lévő hibákat. A legtöbb hibakereső lehetőséget biztosít a program lépésről lépésre történő végrehajtására (más néven egyszeri lépésre), szüneteltetéssel, hogy megvizsgálja a program aktuális állapotát egy töréspont megadásával és a változóértékek követésével. Egyes fejlett hibakeresők lehetővé teszik a programozó számára, hogy kihagyjon egy olyan helyet, amely összeomlást vagy logikai hibát okoz a kódban, és egy másik helyről folytassa a végrehajtást. Néhány népszerű hibakereső a GNU Debugger (GDB), a Microsoft Visual Studio Debugger stb.
Mi az a fordító?
A Compiler egy számítógépes program, amely beolvassa az egyik nyelven írt programot, amelyet forrásnyelvnek neveznek, és lefordítja egy másik nyelvre, amelyet célnyelvnek neveznek. Leggyakrabban a forrásnyelv egy magas szintű nyelv, a célnyelv pedig egy alacsony szintű nyelv. Tehát általában a fordítók olyan fordítóknak tekinthetők, akik egyik nyelvről a másikra fordítanak. Ezenkívül a fordítók bizonyos optimalizálásokat hajtanak végre a kódon. Egy tipikus fordítóprogram több fő összetevőből áll. Az első komponens a szkenner (lexikális elemzőként is ismert). A Scanner beolvassa a programot, és tokenek láncává alakítja. A második komponens az elemző. A tokenek karakterláncát elemzőfává (vagy absztrakt szintaxisfává) alakítja, amely rögzíti a program szintaktikai szerkezetét. A következő komponens a szemantikai rutinok, amelyek a szintaktikai struktúra szemantikáját értelmezik. Ezt követi a kódoptimalizálás és a végső kódgenerálás.
Mi a különbség a hibakereső és a fordító között?
A Debugger egy számítógépes program, amely más programok hibáinak feltárására szolgál, míg a fordító egy olyan számítógépes program, amely beolvassa az egyik nyelven írt programot, és lefordítja azt egy másik nyelvre. A fordítók képesek a szintaktikai hibák és más fordítási időbeli hibák észlelésére is, de a hibakeresők több lehetőséget biztosítanak (például a memória figyelését) a programok hibáinak észlelésére. Ez a kettő két különböző program, de legtöbbször a hibakereső és a fordító egyetlen csomagba van integrálva.