Funzione SymGetLineFromName (dbghelp.h)
Individua una riga di origine per il modulo, il nome file e il numero di riga specificati.
Sintassi
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
);
Parametri
[in] hProcess
Handle per il processo passato originariamente alla funzione SymInitialize .
[in, optional] ModuleName
Nome del modulo in cui deve trovarsi una riga.
[in, optional] FileName
Nome del file in cui deve trovarsi una riga. Se l'applicazione ha più di un file di origine con questo nome, assicurarsi di specificare un percorso completo.
[in] dwLineNumber
Numero di riga da individuare.
[out] plDisplacement
Spostamento in byte dall'inizio della riga o zero.
[in, out] Line
Puntatore a una struttura IMAGEHLP_LINE64 .
Valore restituito
Se la funzione ha esito positivo, il valore restituito è TRUE.
Se la funzione ha esito negativo, il valore restituito è FALSE. Per recuperare informazioni sull'errore estese, chiamare GetLastError.
Commenti
Il chiamante deve allocare correttamente il buffer Line e compilare i membri necessari della struttura IMAGEHLP_LINE64 prima di chiamare SymGetLineFromName64.
Prima di chiamare questa funzione, assicurarsi che i simboli vengano inizializzati correttamente chiamando SymInitialize, SymSetOptions e SymLoadModule64.
Questa funzione restituisce un puntatore a un buffer che può essere riutilizzato da un'altra funzione. Assicurarsi quindi di copiare immediatamente i dati restituiti in un altro buffer.
Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Di conseguenza, le chiamate da più thread a questa funzione genereranno un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.
Per chiamare la versione Unicode di questa funzione, definire DBGHELP_TRANSLATE_TCHAR. SymGetLineFromNameW64 è definito come segue in 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
Questa funzione sostituisce la funzione SymGetLineFromName . Per altre informazioni, vedere Aggiornamento del supporto della piattaforma. SymGetLineFromName è definito come segue in 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
Esempio
Per un esempio, vedere Recupero delle informazioni sui simboli in base al nome.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | dbghelp.h |
Libreria | Dbghelp.lib |
DLL | Dbghelp.dll |
Componente ridistribuibile | DbgHelp.dll 5.1 o versione successiva |