Bagikan melalui


Simbol dan File Simbol

Ketika aplikasi, pustaka, driver, atau sistem operasi ditautkan, linker yang membuat file .exe dan .dll juga membuat sejumlah file tambahan yang dikenal sebagai file simbol.

File simbol menyimpan berbagai data yang sebenarnya tidak diperlukan saat menjalankan biner, tetapi yang bisa sangat berguna dalam proses penelusuran kesalahan.

Biasanya, file simbol mungkin berisi:

  • Variabel global

  • Variabel lokal

  • Nama fungsi dan alamat titik masuknya

  • Rekaman kelalaian penunjuk bingkai (FPO)

  • Nomor baris sumber

Masing-masing item ini dipanggil, satu per satu, simbol. Misalnya, file simbol tunggal Myprogram.pdb mungkin berisi beberapa ratus simbol, termasuk variabel global dan nama fungsi dan ratusan variabel lokal. Seringkali, perusahaan perangkat lunak merilis dua versi dari setiap file simbol: file simbol lengkap yang berisi simbol publik dan simbol privat, dan file yang dikurangi (dilucuti) yang hanya berisi simbol publik. Untuk detailnya, lihat Simbol Publik dan Privat.

Saat men-debug, Anda harus memastikan bahwa debugger dapat mengakses file simbol yang terkait dengan target yang Anda debug. Baik file crash dump penelusuran kesalahan penelusuran kesalahan langsung maupun penelusuran kesalahan memerlukan simbol. Anda harus mendapatkan simbol yang tepat untuk kode yang ingin Anda debug, dan memuat simbol-simbol ini ke dalam debugger.

Simbol Windows

Windows menyimpan simbolnya dalam file dengan ekstensi .pdb.

Pengkompilasi dan linker mengontrol format simbol. Linker Visual C++, menempatkan semua simbol ke dalam file .pdb.

Sistem operasi Windows dibangun dalam dua versi. Build gratis (atau build ritel) memiliki biner yang relatif kecil, dan build yang diperiksa (atau build debug) memiliki biner yang lebih besar, dengan lebih banyak simbol debugging dalam kode itu sendiri. Build yang diperiksa tersedia pada versi Windows yang lebih lama sebelum Windows 10, versi 1803. Masing-masing build ini memiliki file simbolnya sendiri. Saat men-debug target di Windows, Anda harus menggunakan file simbol yang cocok dengan build Windows pada target.

Tabel berikut ini mencantumkan beberapa direktori yang ada di pohon simbol Windows standar:

Directory Berisi File Simbol untuk

ACM

File Microsoft Audio Compression Manager

COM

File yang dapat dieksekusi (.com)

CPL

program Panel Kontrol

DLL

File pustaka tautan dinamis (.dll)

DRV

File driver (.drv)

EXE

File yang dapat dieksekusi (.exe)

SCR

File pengaman layar

SYS

File driver (.sys)