Bagikan melalui


Fungsi SymGetLineFromName (dbghelp.h)

Menemukan baris sumber untuk modul, nama file, dan nomor baris yang ditentukan.

Sintaks

BOOL IMAGEAPI SymGetLineFromName(
  [in]           HANDLE         hProcess,
  [in, optional] PCSTR          ModuleName,
  [in, optional] PCSTR          FileName,
  [in]           DWORD          dwLineNumber,
  [out]          PLONG          plDisplacement,
  [in, out]      PIMAGEHLP_LINE Line
);

Parameter

[in] hProcess

Handel ke proses yang awalnya diteruskan ke fungsi SymInitialize .

[in, optional] ModuleName

Nama modul tempat baris berada.

[in, optional] FileName

Nama file tempat baris berada. Jika aplikasi memiliki lebih dari satu file sumber dengan nama ini, pastikan untuk menentukan jalur lengkap.

[in] dwLineNumber

Nomor baris yang akan ditemukan.

[out] plDisplacement

Perpindahan dalam byte dari awal baris, atau nol.

[in, out] Line

Penunjuk ke struktur IMAGEHLP_LINE64 .

Menampilkan nilai

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 SymGetLineFromName64.

Sebelum memanggil fungsi ini, pastikan bahwa simbol diinisialisasi dengan benar dengan terlebih dahulu memanggil SymInitialize, SymSetOptions, dan SymLoadModule64.

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. SymGetLineFromNameW64 didefinisikan sebagai berikut dalam Dbghelp.h.


BOOL
IMAGEAPI
SymGetLineFromNameW64(
    __in HANDLE hProcess,
    __in_opt PCWSTR ModuleName,
    __in_opt PCWSTR FileName,
    __in DWORD dwLineNumber,
    __out PLONG plDisplacement,
    __inout PIMAGEHLP_LINEW64 Line
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetLineFromName64   SymGetLineFromNameW64
#endif

Fungsi ini menggantikan fungsi SymGetLineFromName . Untuk informasi selengkapnya, lihat Dukungan Platform yang Diperbarui. SymGetLineFromName didefinisikan sebagai berikut dalam Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetLineFromName SymGetLineFromName64
#else
BOOL
IMAGEAPI
SymGetLineFromName(
    __in HANDLE hProcess,
    __in_opt PCSTR ModuleName,
    __in_opt PCSTR FileName,
    __in DWORD dwLineNumber,
    __out PLONG plDisplacement,
    __inout PIMAGEHLP_LINE Line
    );
#endif

Contoh

Misalnya, lihat Mengambil Informasi Simbol menurut Nama.

Persyaratan

   
Target Platform Windows
Header dbghelp.h
Pustaka Dbghelp.lib
DLL Dbghelp.dll
Redistribusi DbgHelp.dll 5.1 atau yang lebih baru

Lihat juga

DbgHelp Functions

IMAGEHLP_LINE64

SymGetLineFromAddr64

SymInitialize