Compartir a través de


Símbolos y archivos de símbolos

Cuando se vinculan aplicaciones, bibliotecas, controladores o sistemas operativos, el enlazador que crea los archivos .exe y .dll también crea varios archivos adicionales conocidos como archivos de símbolos.

Los archivos de símbolos contienen una variedad de datos que no son realmente necesarios al ejecutar los archivos binarios, pero que podrían ser muy útiles en el proceso de depuración.

Normalmente, los archivos de símbolos pueden contener:

  • Variables globales

  • Variables locales

  • Nombres de función y direcciones de sus puntos de entrada

  • Registros de omisión del puntero de marco (FPO)

  • Números de línea de origen

Cada uno de estos elementos se denomina, individualmente, un símbolo. Por ejemplo, un único archivo de símbolos Myprogram.pdb puede contener varios cientos de símbolos, como variables globales y nombres de función y cientos de variables locales. A menudo, las empresas de software publican dos versiones de cada archivo de símbolos: un archivo de símbolos completo que contiene símbolos públicos y símbolos privados, y un archivo reducido (quitado) que contiene solo símbolos públicos. Para más información, consulte Símbolos públicos y privados.

Al depurar, debe asegurarse de que el depurador pueda acceder a los archivos de símbolos asociados al destino que está depurando. Tanto la depuración en vivo como la depuración de archivos de volcado de memoria requieren símbolos. Debe obtener los símbolos adecuados para el código que desea depurar y cargar estos símbolos en el depurador.

Símbolos de Windows

Windows mantiene sus símbolos en archivos con la extensión .pdb.

El compilador y el enlazador controlan el formato de símbolo. El enlazador de Visual C++, coloca todos los símbolos en archivos .pdb.

El sistema operativo Windows se creó en dos versiones. La compilación gratuita (o compilación comercial) tiene archivos binarios relativamente pequeños y la compilación comprobada (o compilación de depuración) tiene archivos binarios más grandes, con más símbolos de depuración en el propio código. Las compilaciones comprobadas estaban disponibles en versiones anteriores de Windows antes de Windows 10, versión 1803. Cada una de estas compilaciones tenía sus propios archivos de símbolos. Al depurar un destino en Windows, debe usar los archivos de símbolos que coincidan con la compilación de Windows en el destino.

En la tabla siguiente se enumeran varios de los directorios que existen en un árbol de símbolos estándar de Windows:

Directorio Contiene archivos de símbolos para

ACM

Archivos del Administrador de compresión de audio de Microsoft

COM

Archivos ejecutables (.com)

CPL

programas de Panel de control

Archivo DLL

Archivos de biblioteca de vínculos dinámicos (.dll)

DRV

Archivos de controlador (.drv)

EXE

Archivos ejecutables (.exe)

SCR

Archivos del protector de pantalla

SYS

Archivos de controlador (.sys)