Fungsi SymGetLineFromAddr (dbghelp.h)
Menemukan baris sumber untuk alamat yang ditentukan.
Sintaks
BOOL IMAGEAPI SymGetLineFromAddr(
[in] HANDLE hProcess,
[in] DWORD dwAddr,
[out] PDWORD pdwDisplacement,
[out] PIMAGEHLP_LINE Line
);
Parameter
[in] hProcess
Handel ke proses yang awalnya diteruskan ke fungsi SymInitialize .
[in] dwAddr
Alamat tempat baris harus berada. Alamat tidak perlu berada di batas baris. Jika alamat muncul setelah awal baris dan sebelum akhir baris, baris ditemukan.
[out] pdwDisplacement
Perpindahan dalam byte dari awal baris, atau nol.
[out] Line
Penunjuk ke struktur IMAGEHLP_LINE64 .
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.
Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError.
Keterangan
Pemanggil harus mengalokasikan buffer Baris dengan benar dan mengisi anggota struktur IMAGEHLP_LINE64 yang diperlukan sebelum memanggil SymGetLineFromAddr64.
Fungsi ini mengembalikan penunjuk ke buffer yang mungkin digunakan kembali oleh fungsi lain. Oleh karena itu, pastikan untuk segera menyalin data yang dikembalikan ke buffer lain.
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.
Untuk memanggil versi Unicode dari fungsi ini, tentukan DBGHELP_TRANSLATE_TCHAR. SymGetLineFromAddrW64 didefinisikan sebagai berikut dalam Dbghelp.h.
BOOL
IMAGEAPI
SymGetLineFromAddrW64(
_In_ HANDLE hProcess,
_In_ DWORD64 dwAddr,
_Out_ PDWORD pdwDisplacement,
_Out_ PIMAGEHLP_LINEW64 Line
);
#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetLineFromAddr64 SymGetLineFromAddrW64
#endif
Fungsi ini menggantikan fungsi SymGetLineFromAddr . Untuk informasi selengkapnya, lihat Dukungan Platform yang Diperbarui. SymGetLineFromAddr didefinisikan sebagai berikut dalam Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetLineFromAddr SymGetLineFromAddr64
#define SymGetLineFromAddrW SymGetLineFromAddrW64
#else
BOOL
IMAGEAPI
SymGetLineFromAddr(
_In_ HANDLE hProcess,
_In_ DWORD dwAddr,
_Out_ PDWORD pdwDisplacement,
_Out_ PIMAGEHLP_LINE Line
);
BOOL
IMAGEAPI
SymGetLineFromAddrW(
_In_ HANDLE hProcess,
_In_ DWORD dwAddr,
_Out_ PDWORD pdwDisplacement,
_Out_ PIMAGEHLP_LINEW Line
);
#endif
Contoh
Misalnya, lihat Mengambil Informasi Simbol menurut Alamat.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | dbghelp.h |
Pustaka | Dbghelp.lib |
DLL | Dbghelp.dll |
Redistribusi | DbgHelp.dll 5.1 atau yang lebih baru |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk