visual ucrtbased studio simbolos punto puede interrupciĆ³n encuentra desencadenado cargado archivo abrir c++ visual-studio-2008 pdb-files

c++ - ucrtbased - simbolos visual studio



El archivo PDB del compilador y el archivo PDB Linker (1)

Honestamente, no sé para qué se utiliza exactamente el archivo .pdb generado por el paso de compilación. Supongo que se trata de información intermedia que el vinculador obtiene en el archivo .pdb final.

Sin embargo, la conclusión es que para fines de depuración todo lo que necesita es el archivo .pdb producido por el enlazador.

Actualización: una pequeña excavación generó esto desde http://blogs.msdn.com/b/yash/archive/2007/10/12/pdb-files-what-are-they-and-how-to-generate-them. aspx :

¿Cuáles son los dos tipos de archivos .PDB?

===========================

Hay dos tipos de archivos PDB. Uno generado por el compilador llamado VCx0.PDB (por ejemplo, vc80.pdb) y otro el .PDB.

El compilador genera el archivo VCx0.PDB y está relacionado con el archivo .OBJ. Contiene el tipo de información solamente.

Los archivos .PDB son generados por el enlazador y están relacionados con el ejecutable de destino o la DLL. Este archivo contiene la información completa de depuración. Cuando estamos depurando, necesitamos este archivo ''.pdb'' para alinear los símbolos. La marca de tiempo del archivo de destino y el AP debe coincidir.

Me estoy confundiendo en cuanto a cuál es la diferencia entre el compilador y PDB archivos PDB vinculados respectivamente (es decir, en Visual Studio, Project Properties > C/C++ > Output Files > Program Database File Name vs Project Properties > Linker > Debugging ) . He intentado encontrar la respuesta en línea y hasta ahora sé (puede estar equivocado) que se genera un archivo PDB por el compilador para los archivos obj , mientras que el archivo PDB por el vinculador se genera para el binario (exe o dll) y es el uno utilizado para la depuración.

Si eso no es cierto, por favor explique la diferencia. De cualquier manera, qué hacer cuando estoy creando un DLL donde tengo la opción de seleccionar el archivo PDB salida para el compilador, así como el enlazador y qué hacer cuando estoy creando un archivo LIB donde solo el compilador genera los archivos PDB . ya que no hay enlaces realizados.

Antecedentes: las bibliotecas / dlls son utilizadas por varios proyectos, que luego necesitan los archivos PDB para la depuración. En el caso de un archivo lib , no hay ambigüedad, ya que solo se genera un archivo PDB . Pero en el caso de una DLL , ¿necesito que los archivos PDB se depuren correctamente o solo el generado por el enlazador?