Share via


SymGetSymFromAddr-Funktion (dbghelp.h)

Sucht das Symbol für die angegebene Adresse.

Hinweis Diese Funktion wird nur aus Kompatibilitätsgründen bereitgestellt. Anwendungen sollten SymFromAddr verwenden.
 

Syntax

BOOL IMAGEAPI SymGetSymFromAddr(
  [in]            HANDLE           hProcess,
  [in]            DWORD            dwAddr,
  [out, optional] PDWORD           pdwDisplacement,
  [in, out]       PIMAGEHLP_SYMBOL Symbol
);

Parameter

[in] hProcess

Ein Handle für den Prozess, der ursprünglich an die SymInitialize-Funktion übergeben wurde.

[in] dwAddr

Die Adresse, für die sich ein Symbol befinden soll. Die Adresse muss sich nicht an einer Symbolgrenze befindet. Wenn die Adresse nach dem Anfang eines Symbols und vor dem Ende des Symbols (dem Anfang des Symbols plus der Symbolgröße) kommt, wird das Symbol gefunden.

[out, optional] pdwDisplacement

Die Verschiebung vom Anfang des Symbols oder null.

[in, out] Symbol

Ein Zeiger auf eine IMAGEHLP_SYMBOL64 Struktur.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.

Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Hinweise

Die SymGetSymFromAddr64-Funktion sucht das Symbol für eine angegebene Adresse. Die Module werden nach dem gesucht, zu dem die Adresse gehört. Wenn das Modul gefunden wird, wird seine Symboltabelle nach einer Übereinstimmung gesucht. Wenn das Symbol gefunden wird, werden die Symbolinformationen in den vom Aufrufer bereitgestellten Symbolpuffer kopiert. Der Aufrufer muss den Symbolpuffer ordnungsgemäß zuordnen und die erforderlichen Parameter in der IMAGEHLP_SYMBOL64-Struktur ausfüllen, bevor SymGetSymFromAddr64 aufgerufen wird.

Alle DbgHelp-Funktionen, z. B. diese, sind single threaded. Daher führen an diese Funktion gerichtete Aufrufe mehrerer Threads wahrscheinlich zu unerwartetem Verhalten oder einer Beschädigung des Speichers. Um dies zu vermeiden, müssen Sie alle an diese Funktion gerichteten gleichzeitigen Aufrufe mehrerer Threads synchronisieren.

Diese Funktion ersetzt die SymGetSymFromAddr-Funktion . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. SymGetSymFromAddr wird in Dbghelp.h wie folgt definiert.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetSymFromAddr SymGetSymFromAddr64
#else
BOOL
IMAGEAPI
SymGetSymFromAddr(
    __in HANDLE hProcess,
    __in DWORD dwAddr,
    __out_opt PDWORD pdwDisplacement,
    __inout PIMAGEHLP_SYMBOL Symbol
    );
#endif

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile dbghelp.h
Bibliothek Dbghelp.lib
DLL Dbghelp.dll
Verteilbare Komponente DbgHelp.dll 5.1 oder höher

Weitere Informationen

DbgHelp-Funktionen

IMAGEHLP_SYMBOL64

SymFromAddr

SymInitialize