visual c++ - visual - vc80.pdb-¿Cómo lo hago desaparecer y nunca más vuelvo a molestarme?
microsoft visual c++ 2010 (2)
vc80.pdb es el archivo que contiene la información de depuración para su lib. En las páginas de propiedades ide: propiedades de configuración: c / c ++: los archivos de salida le permiten cambiar el nombre a algo más apropiado, como el nombre de su lib. Cuando el enlazador vincula su lib al exe de destino, busca este pdb (hay un puntero en el lib) y extrae la información de ese pdb y la suelta en el pdb del exe.
/ Fd [nombre] es la opción para cambiar el nombre del pdb / ZI es la opción para compilar con un pdb que incluye información de Editar y Continuar.
Todas las bibliotecas vinculadas y el último taget exe o dll necesitan / ZI, para habilitar editar y continuar.
Hice un pequeño testlib.lib y usé "dumpbin / all" para obtener lo siguiente que muestra el puntero a la información de depuración (este es un pequeño extracto):
SECTION HEADER #7
.debug$T name
0 physical address
0 virtual address
48 size of raw data
838 file pointer to raw data (00000838 to 0000087F)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
42100040 flags
Initialized Data
Discardable
1 byte align
Read Only
RAW DATA #7
00000000: 04 00 00 00 42 00 15 15 D5 EA 1E C9 7C 10 3A 40 ....B...Õê.É|.:@
00000010: 93 63 CE 95 77 15 49 4A 03 00 00 00 64 3A 5C 64 .cÎ.w.IJ....d:/d
00000020: 65 76 5C 74 65 73 74 5C 74 65 73 74 6C 69 62 5C ev/test/testlib/
00000030: 74 65 73 74 6C 69 62 5C 64 65 62 75 67 5C 76 63 testlib/debug/vc
00000040: 38 30 2E 70 64 62 00 F1 80.pdb.ñ
Cuando construyo bibliotecas estáticas con VS2005 sigo recibiendo advertencias del enlazador de que no se puede encontrar VC80.pdb con mi library.lib. Aparentemente, como resultado, la función de edición y continuación del IDE no funciona en ningún proyecto que incorpore library.lib
¿Qué magia se necesita para decirle a VS2005 que produzca una lib estática con edición y continúe depurando la información que NO hace referencia ni requiere vs80.pdb cuando se vincula a un proyecto?
--Una mayor comprensión-- Entonces, para poder editar y continuar funcionando con una lib estática compilada previamente, necesitamos colocar el archivo vs80.pdb y vs80.pdb en SVN junto con .lib, Y cambie el nombre de pdb / idb para evitar conflictos al hacer esto con múltiples libs compiladas previamente.
Si puede vivir sin ''editar y continuar'', intente usar / Z7 .
Lo uso para todos los archivos .lib que están almacenados en el control de código fuente. No se crea ningún archivo .pdb: la información de depuración se almacena dentro del archivo .lib.