Advertisement

GNU Project Debugger (GDB) : ‘Pemburu Serangga’ di Dunia C/C++

0 1.899

Pada tahun 1947. salah satu komputer pertama di dunia, Mark II yang dirancang oleh Howard Aiken disimpan di Havard dalam bangunan yang tak berjendela. Pada suatu malam mesin itu macet. Para kru serta merta mencari akar masalahnya. Sampai pada suatu malam mereka menemukan seekor ngengat gepeng dengan rentang sayap sepanjang sepuluh sentimeter tersangkut di dalam sebuah relay elektromekanis. Bangkai ngengat kemudian diambil dan ditempelkan ke buku log dengan selotip

Harvaed Mark 2

“Panel F (ngengat) dalam relay” demikian tertulis di dalam buku. “Kasus pertama ditemukannya seekor serangga betulan”. Dan sejak saat itu proses memperbaiki  kemacetan dan cela dalam suatu program dikenal dengan istilah “debugging” alias membasmi serangga.

bug pertama di seluruh dunia

Puluhan tahun kemudian, setelah komputer sudah menggunakan rangkaian IC terpadu, dan penyebab cacat dan kemacetan suatu program bukan lagi “serangga betulan”. Istilah bug masih digunakan merujuk kepada “biang kerok” masalah dari suatu code tidak berjalan.

Untuk memudahkan seseorang “berburu serangga” diperlukan sebuah alat yang dinamai debugger. Dimana seorang programmer dapat memeriksa jalannya program baris per baris dan membantunya dalam menemukan kesalahan atau galat dari perangkat lunak yang dibangun. Dalam pemrograman C/C++ di dalam lingkungan sistem operasi Linux Ubuntu, terdapat GDB  (GNU Project Debugger)

Sebagaimana gcc dan  g++, biasanya GDB juga sudah terinstal secara default di dalam sistem operasi Linux Ubuntu, untuk memastikannya  ketikkan perintah gdb version pada terminal

gdb version
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “i686-linux-gnu”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type “help”.
Type “apropos word” to search for commands related to “word”…
version: No such file or directory.


Jika tidak tampil pesan seperti itu di terminal, maka gdb harus diinstal sendiri menggunakan perintah

sudo apt-get install gdb
  • Menulis Code C/C++

Buat  file bernama penjumlahan.cpp menggunakan code editor (bisa gedit, nano, vscode ataupun vim) lalu tulis code sebagai berikut

untuk melakukan compile penjumlahan.cpp gunakan g++ dengan opsi -g. Perintah ini akan membangun code menjadi biner sekaligus mengaktifkan fitur debugging

g++ -g penjumlahan.cpp -o penjumlahan

setelah proses compile selesei, sebagaimana tulisan sebelumnya, programmer bisa menjalankan file binary dengan perintah berikut

./sum

setelah membuat file binary executable.Guna melakukan proses debugging gunakan perintah berikut

gdb sum

berikut adalah beberapa opsi yang dimiliki gdb yang penting untuk diingat

  • b [nomer baris] : membuat break point pada nomer baris tertentu, sehingga debugger akan berhenti pada break point tersebut
  • n : mengeksekusi baris berikutnya dari code
  • r: menjalankan program sampai tiba breakpoint
  • p [variable_name] : Mencetak nilai dari sebuah variable
  • q : Keluar dari proses debugger

Gambar 3, mengilustrasikan bagaimana proses debugging dilakukan pada penjumlahan.cpp

Gambar 3

pertama, pengguna mengetikkan b 5 yang berarti menetapkan baris ke 5 sebagai breakpoint. Setelah perintah r dimasukkan, maka proses aplikasi akan dijalankan dan berhenti di baris 5. Kemudian, n berarti menjalankan satu baris berikutnya sedangkan p x adalah menampilkan nilai variable x pada layar

 

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

%d blogger menyukai ini: