Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penangan simbol akan memuat simbol saat Anda memanggil fungsi SymInitialize dengan parameter fInvadeProcess yang diatur ke TRUE atau saat Anda memanggil fungsi SymLoadModuleEx untuk menentukan modul. Dalam kedua kasus, handler simbol memuat simbol atau menangguhkan pemuatan simbol hingga simbol diminta, tergantung pada opsi yang diatur oleh fungsi SymSetOptions.
Handler simbol dapat digunakan untuk mengambil informasi simbolis untuk modul apa pun; tidak perlu dikaitkan dengan proses yang ditentukan dalam panggilan SymInitialize. Untuk menggunakan modul arbitrer, tentukan jalur lengkap ke gambar modul di parameter ImageName. Anda dapat menggunakan path ke modul yang dapat dieksekusi yang memiliki informasi debugging (.exe, .dll, .drv, .sys, .scr, .cpl, atau .com). Gunakan parameter BaseOfDll untuk menentukan alamat beban apa pun, maka alamat simbol akan didasarkan dari alamat tersebut.
Mungkin tidak perlu memuat modul simbol selama durasi aplikasi. Untuk merilis modul simbol dari daftar modul penangan simbol, gunakan fungsiSymUnloadModule64. Fungsi ini merilis memori yang dialokasikan untuk modul simbol. Untuk menggunakan simbol untuk modul tersebut lagi, Anda harus memanggil fungsi SymLoadModuleEx meskipun opsi pemuatan simbol yang ditangguhkan telah ditetapkan.
Mendiagnosis Masalah Beban Simbol
Untuk melihat semua upaya untuk memuat simbol, panggil SymSetOptions dengan SYMOPT_DEBUG. Ini menyebabkan DbgHelp memanggil fungsiOutputDebugString dengan informasi terperinci tentang pencarian simbol, seperti direktori yang dicari dan pesan kesalahan. Jika kode Anda menggunakan SymRegisterCallback64, DbgHelp akan memanggil fungsi panggilan balik Anda alih-alih memanggil OutputDebugString. Parameter ActionCode diatur ke CBA_DEBUG_INFO dan parameter CallbackData adalah string yang dapat ditampilkan.
Untuk mengaktifkan output debug ini ditampilkan ke konsol tanpa mengubah kode sumber Anda, atur variabel lingkungan DBGHELP_DBGOUT ke nilaiNULL non- sebelum memanggil fungsiSymInitialize. Untuk mencatat informasi ke file, atur variabel lingkungan DBGHELP_LOG ke nama file log yang akan digunakan.
Perhatikan bahwa fitur-fitur ini harus digunakan hanya jika diperlukan. Mereka dapat memperlambat pemuatan simbol modul yang berisi banyak simbol.