Fungsi SymLoadModule (dbghelp.h)
Memuat tabel simbol.
Fungsi ini telah digantikan oleh fungsi SymLoadModuleEx .
Sintaks
DWORD IMAGEAPI SymLoadModule(
[in] HANDLE hProcess,
[in, optional] HANDLE hFile,
[in, optional] PCSTR ImageName,
[in, optional] PCSTR ModuleName,
[in] DWORD BaseOfDll,
[in] DWORD SizeOfDll
);
Parameter
[in] hProcess
Handel untuk proses. Handel ini sebelumnya harus diteruskan ke fungsi SymInitialize .
[in, optional] hFile
Handel ke file untuk gambar yang dapat dieksekusi. Argumen ini sebagian besar digunakan oleh debugger, di mana debugger melewati handel file yang diperoleh dari peristiwa penelusuran kesalahan. Nilai NULL menunjukkan bahwa hFile tidak digunakan.
[in, optional] ImageName
Nama gambar yang dapat dieksekusi. Nama ini dapat berisi jalur parsial, jalur lengkap, atau tidak ada jalur sama sekali. Jika file tidak dapat ditemukan dengan nama yang disediakan, jalur pencarian simbol digunakan.
[in, optional] ModuleName
Nama pintasan untuk modul. Jika nilai penunjuk ADALAH NULL, pustaka akan membuat nama menggunakan nama dasar file simbol.
[in] BaseOfDll
Alamat beban modul. Jika nilainya nol, pustaka mendapatkan alamat beban dari file simbol. Alamat beban yang terkandung dalam file simbol belum tentu merupakan alamat beban aktual. Debugger dan aplikasi lain yang memiliki alamat beban aktual harus menggunakan alamat beban nyata saat memanggil fungsi ini.
Jika gambar adalah file .pdb, parameter ini tidak boleh nol.
[in] SizeOfDll
Ukuran modul, dalam byte. Jika nilainya nol, pustaka mendapatkan ukuran dari file simbol. Ukuran yang terkandung dalam file simbol belum tentu ukuran aktual. Debugger dan aplikasi lain yang memiliki ukuran aktual harus menggunakan ukuran nyata saat memanggil fungsi ini.
Jika gambar adalah file .pdb, parameter ini tidak boleh nol.
Menampilkan nilai
Jika fungsi berhasil, nilai pengembalian adalah alamat dasar modul yang dimuat.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError.
Jika modul sudah dimuat, nilai yang dikembalikan adalah nol dan GetLastError mengembalikan ERROR_SUCCESS.
Keterangan
Penangan simbol membuat entri untuk modul dan jika opsi pemuatan simbol yang ditangguhkan dimatikan, upaya dilakukan untuk memuat simbol. Jika pemuatan simbol yang ditangguhkan diaktifkan, modul ditandai sebagai ditangguhkan dan simbol tidak dimuat sampai referensi dibuat ke simbol dalam modul.
Untuk membongkar tabel simbol, gunakan fungsi SymUnloadModule64 .
Semua fungsi DbgHelp, seperti ini, adalah utas tunggal. Oleh karena itu, panggilan dari lebih dari satu utas ke fungsi ini kemungkinan akan mengakibatkan perilaku tak terduga atau kerusakan memori. Untuk menghindari hal ini, Anda harus menyinkronkan semua panggilan bersamaan dari lebih dari satu utas ke fungsi ini.
Fungsi ini menggantikan fungsi SymLoadModule . Untuk informasi selengkapnya, lihat Dukungan Platform yang Diperbarui. SymLoadModule didefinisikan sebagai berikut dalam DbgHelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymLoadModule SymLoadModule64
#else
DWORD
IMAGEAPI
SymLoadModule(
__in HANDLE hProcess,
__in_opt HANDLE hFile,
__in_opt PCSTR ImageName,
__in_opt PCSTR ModuleName,
__in DWORD BaseOfDll,
__in DWORD SizeOfDll
);
#endif
Persyaratan
Target Platform | Windows |
Header | dbghelp.h |
Pustaka | Dbghelp.lib |
DLL | Dbghelp.dll |
Redistribusi | DbgHelp.dll 5.1 atau yang lebih baru |