Debugger vs Compiler
Secara umum, 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. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa perakitan. Debugger adalah program komputer yang digunakan untuk menemukan bug/kesalahan di program lain. Debugger memungkinkan seorang programmer untuk menghentikan pelaksanaan program pada suatu titik dan memeriksa karakteristik seperti nilai variabel pada saat itu.
Apa itu debugger?
Debugger adalah program komputer yang digunakan untuk menemukan bug/kesalahan di program lain. Debugger memungkinkan menjalankan program dan memeriksa setiap langkah dalam eksekusi program. Ini juga memungkinkan menghentikan pelaksanaan program di beberapa titik dan mengubah beberapa nilai variabel dan kemudian melanjutkan eksekusi. Semua kemampuan ini disediakan untuk membantu programmer memastikan bahwa programnya berperilaku dengan benar dan membantu mengidentifikasi bug dalam kode. Sebagian besar debugger menyediakan kemampuan untuk melaksanakan program langkah demi langkah (juga disebut loncatan tunggal), berhenti untuk memeriksa keadaan program saat ini dengan memberikan nilai variabel breakpoint dan pelacakan. Beberapa debugger canggih memungkinkan programmer untuk melewatkan lokasi yang menyebabkan kerusakan atau kesalahan logis dalam kode dan melanjutkan eksekusi dari lokasi yang berbeda. Beberapa debugger 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 diterjemahkan dari satu bahasa ke bahasa lain. Selain itu, kompiler melakukan beberapa optimasi pada kode. Kompiler khas terdiri dari beberapa komponen utama. Komponen pertama adalah pemindai (juga dikenal sebagai Lexical Analyzer). Pemindai membaca program dan mengubahnya menjadi serangkaian token. Komponen kedua adalah parser. Itu mengubah string token ke dalam pohon parse (atau pohon sintaks abstrak), yang menangkap struktur sintaksis program. Komponen berikutnya adalah rutinitas semantik yang menafsirkan semantik struktur sintaksis. Ini diikuti oleh optimisasi kode dan pembuatan kode akhir.
Apa perbedaan antara debugger dan kompiler?
Debugger adalah program komputer yang digunakan untuk menemukan bug/kesalahan dalam program lain, sementara Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke bahasa lain. Kompiler juga memiliki kemampuan untuk mendeteksi kesalahan sintaks dan kesalahan waktu kompilasi lainnya, tetapi debuggers memberikan lebih banyak kemampuan (seperti memantau memori) untuk mendeteksi bug dalam program. Keduanya adalah dua program yang berbeda, tetapi sebagian besar waktu, debugger dan kompiler diintegrasikan ke dalam satu paket.