SymFromAddr Function

Debug Help Library

SymFromAddr Function

Retrieves symbol information for the specified address.

BOOL WINAPI SymFromAddr(
  __in          HANDLE hProcess,
  __in          DWORD64 Address,
  __out         PDWORD64 Displacement,
  __in_out      PSYMBOL_INFO Symbol
);

Parameters

hProcess

A handle to a process. This handle must have been previously passed to the SymInitialize function.

Address

The address for which a symbol should be located. The address does not have to be on a symbol boundary. If the address comes after the beginning of a symbol and before the end of the symbol, the symbol is found.

Displacement

The displacement from the beginning of the symbol, or zero.

Symbol

A pointer to a SYMBOL_INFO structure that provides information about the symbol. The symbol name is variable in length; therefore this buffer must be large enough to hold the name stored at the end of the SYMBOL_INFO structure. Be sure to set the MaxNameLen member to the number of bytes reserved for the name.

Return Value

If the function succeeds, the return value is TRUE.

If the function fails, the return value is FALSE. To retrieve extended error information, call GetLastError.

Remarks

All DbgHelp functions, such as this one, are single threaded. Therefore, calls from more than one thread to this function will likely result in unexpected behavior or memory corruption. To avoid this, you must synchronize all concurrent calls from more than one thread to this function.

To call the Unicode version of this function, define DBGHELP_TRANSLATE_TCHAR.

Example Code

For an example, see Retrieving Symbol Information by Address.

Requirements

Redistributable

Requires DbgHelp.dll 5.1 or later.

Header

Declared in Dbghelp.h.

Library

Use Dbghelp.lib.

DLL

Requires Dbghelp.dll.

Unicode

Implemented as SymFromAddrW (Unicode) and SymFromAddr (ANSI).

See Also

DbgHelp FunctionsSYMBOL_INFO


Send comments about this topic to Microsoft

Build date: 9/25/2007

© 2007 Microsoft Corporation. All rights reserved.