Bagikan melalui


Menggunakan Simbol

Untuk gambaran umum simbol, termasuk menggunakan file simbol dan server simbol, lihat Simbol.

Nama dan Lokasi Simbol

Untuk menemukan lokasi simbol yang diberi namanya, gunakan GetOffsetByName. Untuk detail tentang sintaks yang digunakan untuk menentukan nama simbol, lihat Sintaks Simbol dan Pencocokan Simbol.

Jika nama simbol yang tepat tidak diketahui, atau beberapa simbol memiliki nama yang sama, StartSymbolMatch akan memulai pencarian simbol yang namanya cocok dengan pola tertentu. Untuk detail tentang sintaks, lihat Sintaks Wildcard String.

Untuk menemukan nama simbol yang diberikan lokasinya, gunakan GetNameByOffset. Untuk menemukan nama simbol dalam modul di dekat lokasi tertentu, gunakan GetNearNamebyOffset.

Catatan Jika memungkinkan, kualifikasi simbol dengan nama modul -- misalnya mymodule!main. Jika tidak, jika simbol tidak ada (misalnya, karena kesalahan tipografi) mesin harus memuat dan mencari simbol untuk setiap modul; ini bisa menjadi proses yang lambat, terutama untuk debugging mode kernel. Jika nama simbol memenuhi syarat dengan nama modul, mesin hanya perlu mencari simbol untuk modul tersebut.

Simbol diidentifikasi secara unik menggunakan struktur DEBUG_MODULE_AND_ID. Struktur ini dikembalikan oleh metode GetSymbolEntriesByName dan GetSymbolEntriesByOffset, yang masing-masing mencari simbol berdasarkan nama dan lokasinya.

Metode GetSymbolEntryInformation mengembalikan deskripsi simbol menggunakan struktur DEBUG_SYMBOL_ENTRY .

Untuk menemukan offset bidang dalam struktur, gunakan GetFieldOffset. Untuk menemukan nama bidang yang diberikan indeksnya dalam struktur, gunakan GetFieldName. Untuk menemukan nama konstanta enumerasi yang diberikan nilainya, gunakan GetConstantName.

Metode GetSymbolInformation dapat melakukan beberapa permintaan untuk informasi tentang simbol.

Opsi Simbol

Sejumlah opsi mengontrol bagaimana simbol dimuat dan dibongkar. Untuk deskripsi opsi ini, lihat Mengatur Opsi Simbol.

Opsi simbol dapat diaktifkan dengan menggunakan AddSymbolOptions, dan dimatikan dengan menggunakan RemoveSymbolOptions.

GetSymbolOptions mengembalikan opsi simbol saat ini. Untuk mengatur semua opsi simbol sekaligus, gunakan SetSymbolOptions.

Memuat Ulang Simbol

Setelah memuat file simbol, mesin menyimpan informasi simbol dalam cache internal. Untuk menghapus cache ini, gunakan Muat Ulang. Simbol-simbol ini harus dimuat lagi sekarang atau di lain waktu.

Simbol Sintetis

Simbol sintetis adalah cara untuk memberi label alamat arbitrer untuk referensi yang mudah. Simbol sintetis dapat dibuat dalam modul yang ada. Metode AddSyntheticSymbol membuat simbol sintetis baru. Simbol sintetis dapat dihapus menggunakan RemoveSyntheticSymbol. Memuat ulang simbol untuk modul akan menghapus semua simbol sintetis yang terkait dengan modul tersebut.

Jalur Simbol

Untuk menambahkan direktori atau server simbol ke jalur simbol, gunakan metode AppendSymbolPath. Seluruh jalur simbol dikembalikan oleh GetSymbolPath dan dapat diubah menggunakan SetSymbolPath.