simbolo - ¿Por qué Visual Studio 2010 no puede encontrar/abrir archivos PDB?
no se puede encontrar o abrir el archivo pdb visual studio (10)
Intento usar OpenCV en VS 2010. Soy aficionado y estoy aprendiendo los primeros pasos de la wiki de OpenCV. Sin embargo, cuando intento depurar mi proyecto, obtengo los siguientes errores:
''C: / Windows / SysWOW64 / ntdll.dll'', No se puede encontrar o abrir el archivo PDB ''C: / Windows / SysWOW64 / kernel32.dll'', No se puede encontrar o abrir el archivo PDB ''C: / Windows / SysWOW64 / kernellbase. dll '', No se puede encontrar o abrir el archivo PDB
Tengo esos archivos en el directorio correcto, ¿por qué no puedo abrirlos? ¿Qué debo hacer para solucionar el problema?
Descubrí que estos errores a veces se deben a la falta de permisos al compilar un proyecto, así que me desempeño como administrador para que funcione correctamente.
En referencia al primer subproceso / otra posibilidad VS no puede abrir o encontrar el archivo pdb del proceso es cuando tiene su ejecutable ejecutándose en segundo plano. Estaba trabajando con mpiexec y encontré este problema. Siempre verifica tu administrador de tareas y elimina cualquier proceso de ejecución que vayas a construir en tu proyecto. Una vez que hice eso, depuró o construyó bien.
Además, si intenta continuar con la advertencia, los puntos de interrupción no se verán afectados y no tendrá el ejecutable actual.
Estoy bastante seguro de que son advertencias , no errores. Tu proyecto debería funcionar bien.
Sin embargo, dado que siempre debes intentar corregir las advertencias del compilador, veamos qué podemos descubrir. No estoy familiarizado con OpenCV, y no enlaza con el tutorial wiki que está siguiendo. Pero me parece que el problema es que está ejecutando una versión de 64 bits de Windows (como lo demuestra la carpeta "SysWOW64" en la ruta a los archivos DLL), pero las cosas de OpenCV que está intentando están compiladas para una plataforma de 32 bits. Por lo tanto, es posible que deba reconstruir el proyecto utilizando CMake, como se explica here .
Más específicamente, los archivos que se enumeran son archivos del sistema de Windows. Los archivos PDB contienen información de depuración que Visual Studio usa para permitirte entrar y depurar el código compilado. Realmente no necesita los archivos PDB para que las bibliotecas del sistema puedan depurar su propio código. Pero si lo desea, también puede descargar los símbolos de las bibliotecas del sistema. Vaya al menú "Depurar", haga clic en "Opciones y configuración" y desplácese hacia abajo en el cuadro de lista de la derecha hasta que vea "Habilitar el servidor de origen". Asegúrate de que esa opción esté marcada. Luego, en la vista de árbol a la izquierda, haga clic en "Símbolos" y asegúrese de que la opción "Servidores de símbolos de Microsoft" esté seleccionada. Haga clic en Aceptar para cerrar el cuadro de diálogo y luego intente reconstruir.
Estoy teniendo las mismas advertencias. No estoy seguro de que sea una cuestión de 32 contra 64 bits. Acaba de cargar los nuevos símbolos y se resolvieron algunos problemas, pero los relativos a OpenCV aún persisten. Este es un extracto de la salida con problema resuelto vs no resuelto:
''OpenCV_helloworld.exe'': cargado ''C: / OpenCV2.2 / bin / opencv_imgproc220d.dll'', No se puede encontrar o abrir el archivo PDB
''OpenCV_helloworld.exe'': cargado ''C: / WINDOWS / system32 / imm32.dll'', Símbolos cargados (información de origen eliminada).
El código sale de 0 en caso de que alguien pregunte.
El programa ''[4424] OpenCV_helloworld.exe: Native'' ha salido con el código 0 (0x0).
Me encontré con el mismo problema. Cuando ejecuté mi prueba unitaria en código C ++, recibí un error que decía "No se puede encontrar o abrir el archivo PDB".
Registros
Cuando miré el registro de salida en Visual Studio, vi que estaba buscando en la carpeta incorrecta. Cambié el nombre de la carpeta WinUnit, pero algo en el código WinUnit buscaba el archivo PDB usando el nombre de la carpeta anterior. Supongo que lo codificaron.
Encontrado el problema
La primera vez que descargué y descomprimí los archivos WinUnit, la carpeta principal se llamó "WinUnit-1.2.0909.1". Después de descomprimir el archivo, cambié el nombre de la carpeta a "WinUnit" porque es más fácil escribir durante la configuración del proyecto de Visual Studio. Pero aparentemente esto rompió la capacidad de encontrar el archivo PDB, aunque configuré todo de acuerdo con la documentación de WinUnit.
Mi arreglo
Cambié el nombre de la carpeta al original y funciona.
Extraño.
Para usuarios de VS2013 que se encuentran aquí como yo:
Tools -> Options -> Debugging -> Symbols
Verá que los Cache symbols in this directory:
campo está vacío; puede navegar / ingresar la ruta usted mismo o simplemente continuar y hacer clic en el botón Load all symbols
. Aparecerá una ventana de alerta que dice "Como no ha seleccionado un directorio de caché de símbolos, se usará el predeterminado". Ahora verá C:/Users/XXXX/AppData/Local/Temp/SymbolCache
en el campo de ruta previamente vacío. Haga clic en Load all symbols
por segunda vez y debe configurarlo. Golpee bien, y solo por diligencia, limpie y reconstruya su solución.
Primero cambie los siguientes parámetros:
Herramientas -> Opciones -> Depuración -> Símbolos -> Servidor -> Sí
Luego presiona Ctrl + F5 y verás cosas increíbles.
Yo tuve el mismo problema. La depuración no funciona con las cosas que vienen con el ejecutable OpenCV. tienes que construir tus propios binarys.
A continuación, habilite los Servidores de símbolos de Microsoft en Debug-> options and settings-> debug-> symbols
Yo tuve el mismo problema. Resulta que, al compilar un proyecto que obtuve de otra persona, no configuré el proyecto de inicio correcto (haga clic con el botón derecho en el proyecto de inicio deseado en el explorador de soluciones y seleccione "establecer como proyecto de inicio"). Tal vez esto ayude, aplausos.
Visual Studio Community Edition 2015
He estado teniendo este error todo el día. Finalmente lo solucioné yendo a Herramientas> Importar y Exportar configuraciones> Restablecer todas las opciones> Restablecer configuración general.
Una vez que se restablece, vaya a Herramientas> Opciones> Depuración> Símbolos> - Luego marque la casilla junto a Servidores de símbolos de Microsoft.
Ejecute su aplicación en modo de depuración, y abrirá ventanas diciendo que está descargando símbolos para un montón de diferentes archivos .dll. Deja que termine de hacer esto.
Una vez que se completa, debería funcionar de nuevo.