domingo, 11 de octubre de 2015

COMPARTICIÓN DE FICHEROS PDB



COMPARTICIÓN DE FICHEROS PDB


Una base de datos de programas (archivo PDB) contiene información sobre el estado de la depuración y del proyecto, que permite la vinculación incremental de una configuración de depuración del programa. Un archivo PDB se crea cuando se compila un programa de C/C++ con /ZI o /Zi o un programa de Visual Basic/C#/JScript .NET con /debug.
En Visual C++, la opción /Fd da nombre al archivo PDB creado por el compilador. Cuando se crea un proyecto en Visual Studio mediante los asistentes, se establece la opción /Fd para crear un archivo PDB denominado proyecto.PDB.

Si genera una aplicación de C/C++ mediante un archivo MAKE y especifica /ZI o /Zi sin /Fd, terminará con dos archivos PDB:

VC70.PDB (generalmente VCx0.PDB, donde x representa la versión de Visual C++). Este archivo almacena toda la información de depuración de los archivos OBJ individuales y reside en el mismo directorio que el archivo MAKE del proyecto.

proyecto.PDB   Este archivo almacena toda la información de depuración para un archivo .exe. Para código nativo, este archivo reside en el subdirectorio \debug. Para código administrado, este archivo reside en el subdirectorio \WINDEBUG.

Cada vez que crea un archivo OBJ, el compilador C/C++ combina la información de depuración en VCx0.PBD. La información insertada incluye información de tipo, pero no información de símbolo como definiciones de función. Por tanto, aunque cada archivo de código fuente incluya archivos de encabezado comunes como <windows.h>, las definiciones de tipo de esos encabezados sólo se almacenan una vez, en vez de aparecer en cada archivo OBJ.

El vinculador crea proyecto.PDB, que contiene información de depuración para el archivo EXE del proyecto. El archivo proyecto.PDB contiene toda la información de depuración, incluidos prototipos de función y no sólo la información de tipo que se encuentra en VCx0.PDB. Ambos archivos PDB permiten actualizaciones incrementales.


El depurador de Visual Studio utiliza el archivo proyecto.PDB creado directamente por el vinculador e incrusta la ruta de acceso absoluta al PDB en el archivo EXE o DLL. Si el depurador no puede encontrar el archivo PDB en esa ubicación o si la ruta de acceso no es válida (por ejemplo, si el proyecto se movió a otro equipo), el depurador busca la ruta que contiene el archivo EXE, la Ruta de acceso de símbolos especificada en Páginas de propiedades de la solución (carpeta Propiedades comunes, página Depurar archivos de símbolos). El depurador no cargará un archivo PDB que no coincida con el binario que se esté depurando.

No hay comentarios:

Publicar un comentario