GDB - Simbol Debugging

SEBUAH Debugging Symbol Tablememetakan instruksi dalam program biner yang dikompilasi ke variabel, fungsi, atau baris yang sesuai di kode sumber. Pemetaan ini bisa jadi seperti:

  • Instruksi program ⇒ nama item, tipe item, file asli, nomor baris ditentukan.

Tabel simbol dapat disematkan ke dalam program atau disimpan sebagai file terpisah. Jadi jika Anda berencana untuk men-debug program Anda, maka diperlukan untuk membuat tabel simbol yang akan memiliki informasi yang diperlukan untuk men-debug program.

Kita dapat menyimpulkan fakta-fakta berikut tentang tabel simbol:

  • Tabel simbol berfungsi untuk versi program tertentu - jika program berubah, tabel baru harus dibuat.

  • Build debug seringkali lebih besar dan lebih lambat daripada build retail (non-debug); debug build berisi tabel simbol dan informasi tambahan lainnya.

  • Jika Anda ingin men-debug program biner yang tidak Anda kompilasi sendiri, Anda harus mendapatkan tabel simbol dari pembuatnya.

Agar GDB dapat membaca semua informasi baris demi baris dari tabel simbol, kita perlu menyusunnya sedikit berbeda. Biasanya kami menyusun program kami sebagai:

gcc hello.cc -o hello

Alih-alih melakukan ini, kita perlu mengkompilasi dengan -g flag seperti yang ditunjukkan di bawah ini:

gcc -g hello.cc -o hello