Perbedaan Antara Debugger dan Kompiler

Debugger vs Compiler

Secara umum, kompiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa rakitan. Debugger adalah program komputer yang digunakan untuk menemukan bug / kesalahan dalam program lain. Debugger memungkinkan seorang programmer untuk menghentikan eksekusi suatu program pada suatu titik dan memeriksa karakteristik seperti nilai variabel pada titik itu.

Apa itu Debugger?

Debugger adalah program komputer yang digunakan untuk menemukan bug / kesalahan dalam program lain. Debugger memungkinkan menjalankan program dan memeriksa setiap langkah dalam pelaksanaan program. Ini juga memungkinkan menghentikan eksekusi program di beberapa titik dan mengubah beberapa nilai variabel dan kemudian melanjutkan eksekusi. Semua kemampuan ini disediakan untuk membantu programmer memastikan bahwa programnya berfungsi dengan benar dan membantu mengidentifikasi bug dalam kode. Sebagian besar debugger menyediakan kemampuan untuk mengeksekusi program langkah demi langkah (juga disebut langkah tunggal), berhenti sejenak untuk memeriksa keadaan program saat ini dengan memberikan breakpoint dan melacak nilai variabel. Beberapa debugger tingkat lanjut memungkinkan programmer untuk melewati lokasi yang menyebabkan kerusakan atau kesalahan logis dalam kode dan melanjutkan eksekusi dari lokasi yang berbeda. Beberapa debugger yang populer adalah GNU Debugger (GDB), Microsoft Visual Studio Debugger, dll.

Apa itu Kompiler?

Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Paling sering, bahasa sumber adalah bahasa tingkat tinggi dan bahasa target adalah bahasa tingkat rendah. Jadi, secara umum kompiler dapat dilihat sebagai penerjemah yang menerjemahkan dari satu bahasa ke bahasa lain. Selain itu, kompiler melakukan beberapa optimasi kode. Kompiler tipikal terdiri dari beberapa komponen utama. Komponen pertama adalah pemindai (juga dikenal sebagai penganalisa leksikal). Pemindai membaca program dan mengubahnya menjadi serangkaian token. Komponen kedua adalah parser. Ini mengubah string token ke pohon parse (atau pohon sintaksis abstrak), yang menangkap struktur sintaksis program. Komponen selanjutnya adalah rutinitas semantik yang menginterpretasikan semantik dari struktur sintaksis. Ini diikuti oleh optimasi kode dan pembuatan kode akhir.

Apa perbedaan antara Debugger dan Kompiler?

Debugger adalah program komputer yang digunakan untuk menemukan bug / kesalahan di program lain, sedangkan kompiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke bahasa lain. Compiler juga memiliki kemampuan untuk mendeteksi kesalahan sintaksis dan kesalahan waktu kompilasi lainnya, tetapi para debugger memberikan lebih banyak kemampuan (seperti memonitor memori) untuk mendeteksi bug dalam program. Keduanya adalah dua program yang berbeda, tetapi seringkali, debugger dan kompiler diintegrasikan ke dalam satu paket.