Acabo de crear mi aplicación que consiste en algún código C++ y C# y lo instalé en otra máquina. Cuando conecto el depurador remoto, puedo depurar el código de C++, y paso a paso. Sin embargo, cuando trato de depurar el código C#, los símbolos no parecen estar cargados. Intenté abrir el panel de módulos en Visual Studio y busqué en el archivo .pdb correcto, pero acabo de recibir un mensaje que me dice que no coincide.¿Por qué mis símbolos (pdb) no se cargan desde una ruta local?
No puedo entender por qué sucede esto. He usado chkmatch desde aquí: http://www.debuginfo.com/tools/chkmatch.html, que informa que los archivos .exe y .pdb que estoy seleccionando sí coinciden.
He limpiado toda mi fuente, he ido a buscar y reconstruido todo, así que estoy bastante seguro de que no tengo un viejo error al acechar .pdbs.
He encontrado esta pregunta relacionada The Symbol file MyFile.pdb does not match the module Pero, eso es más para hacer símbolos nativos que no coincidan. Mis símbolos nativos coinciden, son solo ensamblajes .net donde los símbolos se niegan a coincidir.
Cualquier sugerencia para cosas para comprobar sería muy bienvenida.
Gracias.
Actualización: ¡He logrado obtener los símbolos para cargar ahora! Pero ... la solución fue copiar los archivos de símbolos en la computadora remota y colocarlos en la misma carpeta que los archivos .exe y dll en la máquina remota. Visual Studio parece negarse a cargarlos desde mi máquina local. Si hago clic derecho en el módulo en la ventana de módulos y selecciono 'Información de carga de símbolo ...', esto muestra las rutas de donde está tratando de cargar los símbolos, y esto contiene las rutas locales correctas a donde los archivos pdb están en mi máquina. He examinado las propiedades de control de acceso y seguridad para los pdbs, y he dado todos los permisos de acceso a todos.
Esto es realmente confuso, estoy seguro de que en el pasado he podido cargar símbolos bien. No puedo pensar en nada que haya cambiado que de repente haga que esto deje de funcionar.
¿Por qué Visual Studio se niega a cargar el símbolo desde mi máquina local?
¿Cómo se firman los archivos? –
Usando signtool.exe desde el SDK.signtool sign/v/ph/f "myCertfile.pfx"/p myCertfilePassword/t "http://timestamp.verisign.com/scripts.timestamp.dll" MyExeToSign.exe –
Voy a tratar de deshabilitar la firma y volver a empezar de nuevo para ver qué pasa entonces. –