Penyahpepijat lwn Pengkompil
Secara umum, pengkompil ialah program komputer yang membaca program yang ditulis dalam satu bahasa, yang dipanggil bahasa sumber, dan menterjemahkannya ke dalam bahasa lain, yang dipanggil bahasa sasaran. Secara tradisinya, bahasa sumber ialah bahasa peringkat tinggi seperti C++ dan bahasa sasaran ialah bahasa peringkat rendah seperti bahasa himpunan. Debugger ialah program komputer yang digunakan untuk mencari pepijat/ralat dalam atur cara lain. Penyahpepijat membenarkan pengaturcara menghentikan pelaksanaan program pada satu titik dan memeriksa ciri-ciri seperti nilai pembolehubah pada ketika itu.
Apakah itu Penyahpepijat?
Debugger ialah atur cara komputer yang digunakan untuk mencari pepijat/ralat dalam atur cara lain. Debugger membenarkan melaksanakan program dan memeriksa setiap langkah dalam pelaksanaan program. Ia juga membenarkan menghentikan pelaksanaan program pada satu ketika dan menukar beberapa nilai pembolehubah dan kemudian meneruskan pelaksanaan. Kesemua keupayaan ini disediakan untuk membantu pengaturcara memastikan programnya berfungsi dengan betul dan membantu dalam mengenal pasti pepijat dalam kod. Kebanyakan penyahpepijat menyediakan keupayaan untuk melaksanakan program langkah demi langkah (juga dipanggil langkah tunggal), berhenti seketika untuk memeriksa keadaan semasa program dengan menyediakan titik putus dan menjejaki nilai pembolehubah. Sesetengah penyahpepijat lanjutan membenarkan pengaturcara melangkau lokasi yang menyebabkan ranap atau ralat logik dalam kod dan meneruskan pelaksanaan dari lokasi lain. Beberapa penyahpepijat yang popular ialah GNU Debugger (GDB), Microsoft Visual Studio Debugger, dsb.
Apakah itu Penyusun?
Penyusun ialah program komputer yang membaca atur cara yang ditulis dalam satu bahasa, yang dipanggil bahasa sumber, dan menterjemahkannya ke bahasa lain, yang dipanggil bahasa sasaran. Selalunya, bahasa sumber ialah bahasa peringkat tinggi dan bahasa sasaran ialah bahasa peringkat rendah. Jadi, secara umum penyusun boleh dilihat sebagai penterjemah yang menterjemah dari satu bahasa ke bahasa yang lain. Di samping itu, pengkompil melakukan beberapa pengoptimuman kepada kod. Pengkompil biasa terdiri daripada beberapa komponen utama. Komponen pertama ialah pengimbas (juga dikenali sebagai penganalisis leksikal). Pengimbas membaca program dan menukarnya kepada rentetan token. Komponen kedua ialah parser. Ia menukar rentetan token ke dalam pokok parse (atau pokok sintaks abstrak), yang menangkap struktur sintaksis program. Komponen seterusnya ialah rutin semantik yang mentafsir semantik struktur sintaksis. Ini diikuti dengan pengoptimuman kod dan penjanaan kod akhir.
Apakah perbezaan antara Penyahpepijat dan Pengkompil?
Debugger ialah atur cara komputer yang digunakan untuk mencari pepijat/ralat dalam atur cara lain, manakala pengkompil ialah atur cara komputer yang membaca atur cara yang ditulis dalam satu bahasa dan menterjemahkannya ke bahasa lain. Penyusun juga mempunyai keupayaan untuk mengesan ralat sintaks dan ralat masa penyusunan lain, tetapi penyahpepijat menyediakan lebih banyak keupayaan (seperti memantau memori) untuk mengesan pepijat dalam atur cara. Kedua-dua ini adalah dua atur cara yang berbeza, tetapi kebanyakan masa, penyahpepijat dan pengkompil disepadukan ke dalam satu pakej.