Bagikan melalui


Menemukan Simbol

Setelah file simbol dimuat ke dalam handler simbol, aplikasi dapat menggunakan fungsi pencari simbol untuk mengembalikan informasi simbol untuk alamat tertentu. Fungsi-fungsi ini juga dapat menemukan nama file kode sumber dan lokasi nomor baris untuk alamat.

Menghitung File Simbol

Untuk mengambil daftar semua file simbol yang dimuat berdasarkan nama modul, panggil fungsi SymEnumerateModules64. Misalnya, lihat Menghitung Modul Simbol. Untuk mengambil daftar simbol untuk modul tertentu, panggil fungsi SymEnumSymbols. Misalnya, lihat Menghitung Simbol.

Mengambil Simbol berdasarkan Alamat

Untuk mengambil informasi simbolis untuk alamat tertentu, gunakan fungsi SymFromAddr. Fungsi ini mengambil informasi dan menyimpannya dalam struktur SYMBOL_INFO. Karena nama simbol memiliki panjang variabel, Anda harus menyediakan ruang buffer tambahan setelah deklarasi struktur SYMBOL_INFO . Misalnya, lihat Mengambil Informasi Simbol menurut Alamat.

Perhatikan bahwa alamat tidak perlu berada di batas simbol. Jika alamat muncul setelah awal simbol tetapi sebelum akhir simbol (awal simbol ditambah ukuran simbol), fungsi akan menemukan simbol.

Mengambil Simbol menurut Nama Simbol

Untuk mengambil informasi simbolis dalam struktur SYMBOL_INFO untuk modul dan nama simbol tertentu, gunakan fungsi SymFromName. Jika pemuatan simbol yang ditangguhkan diatur, SymFromName akan mencoba memuat file simbol untuk modul jika belum dimuat. Untuk menentukan nama modul bersama dengan nama simbol, gunakan Modul sintaksis!SymName. Karakter "!" memisahkan nama modul dari nama simbol. Misalnya, lihat Mengambil Informasi Simbol menurut Nama.

Mengambil Nomor Baris berdasarkan Alamat

Untuk mengambil lokasi kode sumber untuk alamat tertentu, gunakan fungsi SymGetLineFromAddr64. Fungsi ini mengisi struktur IMAGEHLP_LINE64 yang menyertakan nama file sumber dan lokasi nomor baris yang dirujuk oleh alamat yang ditentukan. Misalnya, lihat Mengambil Informasi Simbol menurut Alamat.

Mengambil Nomor Baris menurut Nama Simbol

Untuk mengambil lokasi kode sumber untuk nama simbol tertentu, gunakan fungsi SymGetLineFromName64. Fungsi ini mirip dengan SymGetSymFromName64, tetapi mengambil struktur IMAGEHLP_LINE64. Untuk menggunakan SymGetLineFromAddr64 atau SymGetLineFromName64, Anda harus mengatur opsi load lines (SYMOPT_LOAD_LINES) menggunakan fungsi SymSetOptions. Misalnya, lihat Mengambil Informasi Simbol menurut Nama.