Compartir a través de


Buscar símbolos

Una vez cargado un archivo de símbolos en el controlador de símbolos, una aplicación puede usar las funciones de localizador de símbolos para devolver información de símbolos para una dirección especificada. Estas funciones también pueden encontrar un nombre de archivo de código fuente y una ubicación de número de línea para una dirección.

Enumerar archivos de símbolos

Para recuperar una lista de todos los archivos de símbolos cargados por nombre de módulo, llame a la función SymEnumerateModules64 . Para obtener un ejemplo, vea Enumerar módulos de símbolos. Para recuperar una lista de símbolos de un módulo determinado, llame a la función SymEnumSymbols . Para obtener un ejemplo, vea Enumerar símbolos.

Recuperar símbolos por dirección

Para recuperar información simbólica de una dirección específica, use la función SymFromAddr . Esta función recupera información y la almacena en una estructura de SYMBOL_INFO . Dado que los nombres de símbolos son variables de longitud, debe proporcionar espacio de búfer adicional después de la declaración de estructura SYMBOL_INFO . Para obtener un ejemplo, vea Recuperar información de símbolos por dirección.

Tenga en cuenta que la dirección no necesita estar en un límite de símbolos. Si la dirección viene después del principio de un símbolo pero antes del final del símbolo (el principio del símbolo más el tamaño del símbolo), la función localizará el símbolo.

Recuperar símbolos por nombre de símbolo

Para recuperar información simbólica en una estructura de SYMBOL_INFO para un módulo y un nombre de símbolo específicos, use la función SymFromName . Si se establece la carga de símbolos diferida, SymFromName intentará cargar el archivo de símbolos de un módulo si aún no se ha cargado. Para especificar un nombre de módulo junto con un nombre de símbolo, use la sintaxis Module. SymName. El carácter "!" delimita el nombre del módulo del nombre del símbolo. Para obtener un ejemplo, vea Recuperar información de símbolos por nombre.

Recuperar números de línea por dirección

Para recuperar la ubicación del código fuente de una dirección específica, use la función SymGetLineFromAddr64 . Esta función rellena una estructura de IMAGEHLP_LINE64 que incluye el nombre del archivo de origen y la ubicación del número de línea a los que hace referencia la dirección especificada. Para obtener un ejemplo, vea Recuperar información de símbolos por dirección.

Recuperar números de línea por nombre de símbolo

Para recuperar la ubicación del código fuente de un nombre de símbolo específico, use la función SymGetLineFromName64 . Esta función es similar a SymGetSymFromName64, pero recupera una estructura de IMAGEHLP_LINE64 . Para usar SymGetLineFromAddr64 o SymGetLineFromName64, debe establecer la opción de líneas de carga (SYMOPT_LOAD_LINES) mediante la función SymSetOptions . Para obtener un ejemplo, vea Recuperar información de símbolos por nombre.