Compartir a través de


Función SymGetSymFromName (dbghelp.h)

Busca un símbolo para el nombre especificado.

Nota Esta función solo se proporciona por motivos de compatibilidad. Las aplicaciones deben usar SymFromName.
 

Sintaxis

BOOL IMAGEAPI SymGetSymFromName(
  [in]      HANDLE           hProcess,
  [in]      PCSTR            Name,
  [in, out] PIMAGEHLP_SYMBOL Symbol
);

Parámetros

[in] hProcess

Identificador del proceso que se pasó originalmente a la función SymInitialize .

[in] Name

Nombre de símbolo para el que se va a ubicar un símbolo.

[in, out] Symbol

Puntero a una estructura de IMAGEHLP_SYMBOL64 .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es TRUE.

Si se produce un error en la función, el valor devuelto es FALSE. Para recuperar información de error extendida, llame a GetLastError.

Comentarios

La función SymGetSymFromName64 se usa para buscar un símbolo para un nombre especificado. El nombre puede contener un prefijo de módulo que aísla la búsqueda de símbolos en la tabla de símbolos de un solo módulo.

El prefijo del módulo tiene el formato "module!". El carácter "!" es el delimitador entre el nombre del módulo y el nombre del símbolo. Si no hay ningún prefijo de módulo, la búsqueda se realiza en la tabla de símbolos de cada módulo de forma lineal, empezando por el primer módulo que se carga.

El uso del prefijo del módulo es preferible por dos motivos. En primer lugar, la búsqueda de símbolos se produce mucho más rápido. En segundo lugar, cuando se activa la carga de símbolos diferida, la búsqueda hace que los símbolos se carguen para cada módulo que se busca. Cuando se encuentra el símbolo, la información del símbolo se copia en el búfer símbolo proporcionado por el autor de la llamada. El autor de la llamada debe asignar correctamente el búfer de símbolos y rellenar los parámetros necesarios en la estructura de IMAGEHLP_SYMBOL64 antes de llamar a SymGetSymFromName64.

Todas las funciones DbgHelp, como esta, son un único subproceso. Por lo tanto, es probable que las llamadas desde más de un subproceso a esta función producirán un comportamiento inesperado o daños en la memoria. Para evitarlo, debe sincronizar todas las llamadas simultáneas de más de un subproceso a esta función.

Esta función sustituye a la función SymGetSymFromName . Para obtener más información, consulte Compatibilidad con la plataforma actualizada. SymGetSymFromName se define de la siguiente manera en Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetSymFromName SymGetSymFromName64
#else
BOOL
IMAGEAPI
SymGetSymFromName(
    __in HANDLE hProcess,
    __in PCSTR Name,
    __inout PIMAGEHLP_SYMBOL Symbol
    );
#endif

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado dbghelp.h
Library Dbghelp.lib
Archivo DLL Dbghelp.dll
Redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

Funciones de DbgHelp

IMAGEHLP_SYMBOL64

SymFromName

SymInitialize