Compartir a través de


Función SymEnumSymbols (dbghelp.h)

Enumera todos los símbolos de un proceso.

Sintaxis

BOOL IMAGEAPI SymEnumSymbols(
  [in]           HANDLE                         hProcess,
  [in]           ULONG64                        BaseOfDll,
  [in, optional] PCSTR                          Mask,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                          UserContext
);

Parámetros

[in] hProcess

Identificador de un proceso. Este identificador debe haberse pasado previamente a la función SymInitialize .

[in] BaseOfDll

Dirección base del módulo. Si este valor es cero y Mask contiene un signo de exclamación (!), la función busca en los módulos. Si este valor es cero y Mask no contiene un signo de exclamación, la función usa el ámbito establecido por la función SymSetContext .

[in, optional] Mask

Cadena comodín que indica los nombres de los símbolos que se van a enumerar. Opcionalmente, el texto puede contener los caracteres comodín, "*" y "?".

Para especificar un módulo específico o un conjunto de módulos, comience el texto con una cadena con caracteres comodín que especifique el módulo, seguido de un signo de exclamación. Al especificar un módulo, se omite BaseOfDll .

Valor Significado
Foo
Si BaseOfDll no es cero, SymEnumSymbols buscará un símbolo global denominado "foo".

Si BaseOfDll es cero, SymEnumSymbols buscará un símbolo local denominado "foo" dentro del ámbito establecido por la llamada más reciente a la función SymSetContext .

¿Foo?
Si BaseOfDll no es cero, SymEnumSymbols buscará un símbolo global que comience con "foo" y contendrá un carácter adicional después, como "tonto" y "pie".

Si BaseOfDll es cero, SymEnumSymbols buscará un símbolo que comienza con "foo" y contiene un carácter adicional después, como "tonto" y "pie". La búsqueda estaría dentro del ámbito establecido por la llamada más reciente a la función SymSetContext .

foo*!bar
SymEnumSymbols buscará en cada módulo cargado que comience con el texto "foo" para un símbolo denominado "bar". Podría encontrar coincidencias como estas, "foot!bar", "footlocker!bar" y "tonto!bar".
*!*
SymEnumSymbols enumerará todos los símbolos de cada módulo cargado.

[in] EnumSymbolsCallback

Función de devolución de llamada SymEnumSymbolsProc que recibe la información del símbolo.

[in, optional] UserContext

Valor definido por el usuario que se pasa a la función de devolución de llamada o NULL. Normalmente, una aplicación usa este parámetro para pasar un puntero a una estructura de datos que proporciona contexto para la función de devolución de llamada.

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

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.

Para llamar a la versión Unicode de esta función, defina DBGHELP_TRANSLATE_TCHAR.

Ejemplos

Para obtener un ejemplo, consulte Enumeración de símbolos.

Requisitos

   
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

SymEnumSymbolsProc