Apa itu Debugging :Jenis &Teknik dalam Sistem Tertanam
Setiap programmer dalam hidupnya memiliki kesempatan untuk mengalami bug atau kesalahan dalam kode mereka saat mengembangkan sistem operasi atau aplikasi atau program lainnya. Dalam kasus seperti itu, pengembang menggunakan debugging dan alat untuk menemukan bug dalam kode dan membuat kode atau program bebas dari kesalahan. Ada kesempatan untuk mengidentifikasi bug dan menemukan di mana itu terjadi di seluruh program. Dalam teknologi perangkat lunak, Ini adalah proses penting untuk menemukan bug dalam program baru atau proses aplikasi apa pun. Kesalahan seperti kesalahan fatal dan logis dapat ditemukan dan dihapus untuk mendapatkan output yang diinginkan. Misalnya, GDB, Visual studio, dan LLDB adalah debugger standar untuk sistem operasi yang berbeda.
Apa itu Debug?
Definisi: Teknik penting untuk menemukan dan menghapus jumlah kesalahan atau bug atau cacat dalam suatu program disebut Debugging. Ini adalah proses multilangkah dalam pengembangan perangkat lunak. Ini melibatkan mengidentifikasi bug, menemukan sumber bug dan memperbaiki masalah untuk membuat program bebas dari kesalahan. Dalam pengembangan perangkat lunak, pengembang dapat menemukan kesalahan kode dalam program dan menghapusnya menggunakan proses ini. Oleh karena itu, ini memainkan peran penting dalam keseluruhan siklus pengembangan perangkat lunak.
Men-debug Jenis Debugging
Tergantung pada jenis kesalahan kode, ada berbagai jenis plugin toolset. Penting untuk memahami apa yang terjadi dan jenis alat apa yang digunakan untuk debugging. Ada dua jenis debugging untuk memecahkan masalah umum plugin toolset dan menyediakan informasi teknis.
- Dalam PHP, kode PHP dapat di-debug untuk melampirkan klien debugger menggunakan salah satu alat ini. Utilitas debug seperti Xdebug dan Zendbugger digunakan untuk bekerja dengan PHPstorm. Kint digunakan sebagai alat debugging untuk debugging PHP.
Misalnya, untuk mengaktifkan debugging PHP di WordPress, edit file wp-config.php dan tambahkan kode yang diperlukan. File kesalahan (error_log.txt) dihasilkan dalam kamus akar kata yang dapat dibuat dan ditulis menggunakan server web. Jika tidak, gunakan program FTP untuk membuat dan menulis. Oleh karena itu semua kesalahan yang terjadi di front-end dan back-end dapat masuk ke file kesalahan tersebut.
- Debug javascript menggunakan alat debugger browser dan konsol javascript. Setiap kesalahan javascript dapat terjadi dan menghentikan eksekusi dan fungsi operasi di WordPress. Ketika konsol javascript terbuka, semua pesan kesalahan akan dihapus. Namun, beberapa peringatan konsol yang muncul dapat membuat pesan kesalahan yang harus diperbaiki.
Ada berbagai jenis debugging untuk sistem operasi yang berbeda. Mereka adalah,
- Untuk sistem operasi Linux dan Unix, GDB digunakan sebagai debugger standar.
- Untuk OS Windows, studio visual adalah editor dan debugger yang andal.
- Untuk Mac OS, LLDB adalah debugger tingkat tinggi.
- Intel parallel inspector digunakan sebagai sumber debug untuk kesalahan memori dalam operasi C/C++.
Proses Debug
Proses menemukan bug atau kesalahan dan memperbaikinya di aplikasi atau perangkat lunak apa pun disebut debugging. Untuk membuat program perangkat lunak atau produk bebas bug, proses ini harus dilakukan sebelum merilisnya ke pasar. Langkah-langkah yang terlibat dalam proses ini adalah,
- Mengidentifikasi kesalahan – Menghemat waktu dan menghindari kesalahan di situs pengguna. Mengidentifikasi kesalahan pada tahap awal membantu meminimalkan jumlah kesalahan dan pemborosan waktu.
- Mengidentifikasi lokasi kesalahan – Lokasi kesalahan yang tepat harus ditemukan untuk memperbaiki bug lebih cepat dan mengeksekusi kode.
- Menganalisis kesalahan – Untuk memahami jenis bug atau kesalahan dan mengurangi jumlah kesalahan, kita perlu menganalisis kesalahan. Memecahkan satu bug dapat menyebabkan bug lain yang menghentikan proses aplikasi.
- Buktikan analisisnya – Setelah kesalahan dianalisis, kita perlu membuktikan analisisnya. Ini menggunakan proses otomatisasi pengujian untuk menulis kasus pengujian melalui kerangka pengujian.
- Menutup kerusakan lateral – Bug dapat diatasi dengan membuat perubahan yang sesuai dan melanjutkan ke tahap berikutnya dari kode atau program untuk memperbaiki kesalahan lainnya.
- Perbaiki dan Validasi – Ini adalah tahap terakhir untuk memeriksa semua kesalahan baru, perubahan pada perangkat lunak atau program dan menjalankan aplikasi.
Perangkat Lunak Debugging
Perangkat lunak ini memainkan peran penting dalam proses pengembangan perangkat lunak. Pengembang perangkat lunak menggunakannya untuk menemukan bug, menganalisis bug dan meningkatkan kualitas dan kinerja perangkat lunak. Proses penyelesaian bug menggunakan debugging manual sangat sulit dan memakan waktu. Kita perlu memahami program, cara kerjanya, dan penyebab kesalahan dengan membuat breakpoint.
Segera setelah kode ditulis, kode tersebut digabungkan dengan tahapan pemrograman lain untuk membentuk produk perangkat lunak baru. Beberapa strategi seperti pengujian unit, tinjauan kode, dan pemrograman berpasangan digunakan untuk men-debug program besar (berisi ribuan baris kode). Alat debugger standar atau mode debug dari Lingkungan Pengembangan Integral (IDE) membantu menentukan logging kode dan pesan kesalahan.
Langkah-langkah yang terlibat dalam men-debug perangkat lunak adalah,
- Bug diidentifikasi dalam sistem dan laporan kerusakan dibuat. Laporan ini membantu pengembang untuk menganalisis kesalahan dan menemukan solusinya.
- Alat debugging digunakan untuk mengetahui penyebab bug dan menganalisisnya dengan proses eksekusi langkah demi langkah.
- Setelah mengidentifikasi bug, kami perlu membuat perubahan yang sesuai untuk memperbaiki masalah.
- Perangkat lunak diuji ulang untuk memastikan tidak ada kesalahan yang tersisa dan memeriksa semua kesalahan baru dalam perangkat lunak selama proses debugging perangkat lunak.
- Metode berbasis urutan yang digunakan dalam proses perangkat lunak ini membuat pengembang lebih mudah dan nyaman untuk menemukan bug dan memperbaikinya menggunakan urutan kode.
Teknik Debugging
Untuk melakukan proses debug dengan mudah dan efisien, perlu mengikuti beberapa teknik. Strategi debugging yang paling umum digunakan adalah,
- Men-debug dengan kekerasan
- Strategi induksi
- Strategi pengurangan
- Strategi mundur dan
- Men-debug dengan menguji.
Debugging dengan brute force adalah teknik yang paling umum digunakan. Hal ini dilakukan dengan mengambil dump memori dari program yang berisi sejumlah besar informasi dengan nilai menengah dan menganalisisnya, tetapi menganalisis informasi dan menemukan bug akan membuang-buang waktu dan tenaga.
Strategi induksi mencakup Lokasi data yang relevan, Organisasi data, hipotesis Penyusunan (menyediakan kemungkinan penyebab kesalahan), dan hipotesis Pembuktian.
Strategi pengurangan mencakup Identifikasi kemungkinan penyebab bug atau hipotesis Penghapusan kemungkinan penyebab menggunakan informasi Penyempurnaan hipotesis (menganalisis satu per satu)
Strategi pelacakan mundur digunakan untuk menemukan kesalahan dalam program kecil. Ketika kesalahan terjadi, program dilacak satu langkah mundur selama evaluasi nilai untuk menemukan penyebab bug atau kesalahan.
Men-debug dengan menguji adalah hubungannya dengan men-debug dengan induksi dan men-debug dengan teknik deduksi. Kasus uji yang digunakan dalam debugging berbeda dari kasus uji yang digunakan dalam proses pengujian.
Teknik Debugging dalam Sistem Tertanam
Teknik ini mengurangi jumlah kesalahan dan meningkatkan kualitas dan fungsionalitas kode. Proses debug sistem tertanam bergantung pada alamat memori fisik dan memori virtual.
Ada 6 teknik debug dalam sistem tertanam.
- Sederhanakan data yang kompleks
- Membagi dan menaklukkan
- Memperlambat proses
- Ubah hanya satu variabel dalam satu waktu
- Membuat model offline
- mulai dari keadaan yang dikenal baik.
Teknik debug yang berbeda digunakan dalam kasus yang berbeda. Kombinasi dari satu atau lebih pendekatan dapat menyebabkan kesalahan. Proses ini mencakup
- Reproduksi bug atau masalah
- Jelaskan bug menggunakan masukan dari pengguna
- Coba dapatkan semua nilai variabel dan status program saat bug muncul
- Analisis bug dan temukan penyebab bug
- Perbaiki bug dan periksa semua penyebab bug baru.
Alat Debugging
Alat perangkat lunak atau program yang digunakan untuk menguji dan men-debug program lain disebut alat debugger atau alat debugging. Ini membantu untuk mengidentifikasi kesalahan kode pada berbagai tahap proses pengembangan perangkat lunak. Alat-alat ini menganalisis uji coba dan menemukan baris kode yang tidak dieksekusi. Simulator di alat debugging lain memungkinkan pengguna untuk mengetahui tentang tampilan dan perilaku sistem operasi atau perangkat komputasi lainnya. Sebagian besar alat sumber terbuka dan bahasa skrip tidak menjalankan IDE dan memerlukan proses manual.
Sebagian besar digunakan Alat Debugging adalah GDB, DDD, dan Eclipse.
- Alat GDB: Jenis alat ini digunakan dalam pemrograman Unix. GDB sudah diinstal sebelumnya di semua sistem Linux, jika tidak, Anda perlu mengunduh paket kompiler GCC.
- Alat DDD : DDD berarti Data Display Debugger, yang digunakan untuk menjalankan Graphic User Interface (GUI) di sistem Unix.
- Gerhana: Alat IDE adalah integrasi editor, alat build, debugger, dan alat pengembangan lainnya. IDE adalah alat Eclipse yang paling populer. Ini bekerja lebih efisien jika dibandingkan dengan DDD, GDB, dan alat lainnya.
Daftar alat debugging tercantum di bawah ini.
- AppPuncher Debugger digunakan untuk men-debug Aplikasi Internet Kaya
- AQtime debugger
- CA/EZ TEST adalah paket perangkat lunak uji/debug interaktif CICS
- CharmDebug adalah Debugger untuk Charm++
- debug CodeView
- DBG adalah Debugger dan Profiler PHP
- dbx debugger
- Alat Debugging Terdistribusi (Allinea DDT)
- DDTLite — Allinea DDTLite untuk Visual Studio 2008
- DEBUG adalah debugger bawaan DOS dan Microsoft Windows
- Debugger untuk MySQL
- Opera Dragonfly
- Teknik debugging dinamis (DDT)
- Plugin Debug Sistem Tertanam digunakan untuk Eclipse
- FusionDebug
- Debugger OpenGL, OpenGL ES, dan OpenCL Debugger dan Profiler. Untuk Windows, Linux, Mac OS X, dan iPhone
- GNU Debugger (GDB), GNU Binutils
- Intel Debugger (IDB)
- Sistem ini digunakan sebagai sirkuit debugger untuk Sistem Tertanam
- Interactive Disassembler (IDA Pro)
- Java Platform Debugger Sumber arsitektur Java debugger
- LLDB
- MacsBug
- IBM Rational Purify
- TRACE32 adalah debugger sirkuit untuk Sistem Tertanam
- VB Watch Debugger — debugger untuk Visual Basic 6.0
- Microsoft Visual Studio Debugger
- WinDbg
- Xdebug — PHP debugger dan profiler
Jadi, ini semua tentang proses debugging, alatnya, dan tekniknya dalam proses pengembangan perangkat lunak sistem tertanam. Tujuannya adalah untuk menemukan dan menghapus bug dalam kode apa pun. Ini pertanyaan untuk Anda, apa kerugian dari debugging?