Estoy trabajando en un proyecto ColdFusion desde hace un tiempo, y Visual Studio comenzó a comportarse de manera extraña al menos para mí.
Observé que cuando comencé a depurar, construyó el proyecto, comenzó la implementación y la implementación finalizó y estaba comenzando a cargar símbolos para mi proyecto.
Pero fue muy lento y no sé por qué comenzó a hacer este paso. ¿Qué pude haber hecho?
¿Es necesario este paso de carga de símbolos? ¿Cómo puedo desactivarlo?
En el cuadro de diálogo Herramientas -> Opciones -> Depuración -> Símbolos, no se agrega ninguna ubicación de archivo de símbolos (.pdb). Y señalé en el directorio de depuración de mi proyecto en el campo a continuación, y marqué la casilla de verificación "Buscar en el directorio anterior solo cuando los símbolos son ...". ¿Cómo debo configurar este cuadro de diálogo para desactivar la carga de símbolos?
Miré en la ventana Módulos qué símbolos están cargados, pero no me dice nada. ¿Cuál es el problema?
fuente
Respuestas:
Depurar -> Eliminar todos los puntos de interrupción ( http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging ) Después de eso, puede usarlos nuevamente, pero hágalo una vez. También eliminará algún tipo de puntos de interrupción "inválidos" y luego los símbolos de carga volverán a ser rápidos. Estuve persiguiendo este problema durante días :(.
fuente
Otra razón para la carga lenta es si ha deshabilitado "Habilitar solo mi código" en las opciones de depuración. Para habilitar esto, vaya a:
Asegúrese de que esto esté marcado.
fuente
Configurar en Herramientas, Opciones, Depuración, Símbolos.
Puede ver la ventana de salida (vista, salida) para ver qué hace normalmente. Si es realmente lento, eso probablemente significa que está golpeando un servidor de símbolos, probablemente el de Microsoft, para descargar los símbolos que faltan. Esto requiere tres visitas HTTP para cada archivo que no puede encontrar en cada inicio; a veces puede ver esto en la barra de estado en la parte inferior o, por ejemplo, en Fiddler. Puede ver qué módulos tienen símbolos cargados en Depuración, Windows, Módulos mientras está depurando.
Los símbolos significan que obtienes información útil sobre el seguimiento de la pila en ensambles de sistemas y de terceros. Definitivamente los necesita para su propio código, pero creo que se cargan independientemente. Su mejor opción es desactivar las fuentes de símbolos no locales en ese menú y, si está cargando muchos símbolos para conjuntos de sistemas que no necesita depurar, puede desactivar temporalmente la carga de esos para acelerar el inicio de la depuración. pero a menudo son útiles para cargar.
fuente
Acabo de tener este problema.
Lo arreglé navegando a:
Herramientas -> Opciones -> Depuración -> Símbolos
Luego, desmarque todas las fuentes no locales para ubicaciones de archivos de símbolos (.pdb)
por ejemplo, Microsoft Symbol Servers y msdl.microsoft.com/download/symbols
fuente
Me enfrenté a un problema similar. En mi caso, configuré _NT_SYMBOL_PATH para que se descargue de los servidores de Microsoft para usar en WinDbg y parece que cuando se configura, Visual Studio lo usará sin ninguna forma de ignorarlo. Eliminar esa variable de entorno resolvió mi problema.
fuente
Puede probar la siguiente respuesta a la depuración / carga de Visual Studio muy lentamente :
Intente también eliminar todos los puntos de interrupción (Depuración> Eliminar todos los puntos de interrupción),
Consulte también : Visual Studio 2015 RC1 se bloquea en modo de depuración al cargar símbolos
fuente
Para mí, parece estar relacionado con puntos de interrupción, como se indica en la respuesta aceptada. Sin embargo, encontré dos soluciones alternativas que no implicaban eliminar todos los puntos de interrupción:
fuente
Acabo de encontrar este problema. Eliminar puntos de interrupción no funcionó, o al menos no solo. Después de que esto falló, fui a Herramientas> Opciones> Depuración> Símbolos y "Vaciar caché de símbolos"
y luego limpió la solución y la reconstruyó.
Ahora parece estar funcionando correctamente. Entonces, si prueba todas las otras cosas enumeradas, y aún no hace ninguna diferencia, estos bits adicionales de información pueden ayudar ...
fuente
En mi caso, Visual Studio estaba buscando PDB de terceros en rutas que, en mi máquina, hacían referencia a una unidad óptica. Sin un disco en la bandeja, Windows tardó aproximadamente ~ 30 en fallar, lo que a su vez ralentizó Visual Studio al intentar cargar los PDB desde esa ubicación. Más detalles están disponibles en mi respuesta completa aquí: https://stackoverflow.com/a/17457581/85196
fuente
Tuve el mismo problema e incluso después de apagar el símbolo de carga, la carga del módulo en Visual Studio fue terriblemente lenta.
La solución fue desactivar el software antivirus (en mi caso, NOD32) o mejor aún, agregar excepciones para que ignore las rutas desde las cuales su proceso está cargando ensamblajes (en mi caso, es la carpeta GAC y la ASP temporal Carpeta de archivos .NET).
fuente
Mis 2 centavos
Estaba teniendo un problema similar al intentar obtener un Informe de diagnóstico (Visual Studio 2013) en modo de lanzamiento x64 (muestreo de CPU) y aunque se cargaron los símbolos de los archivos dll necesarios, los símbolos de mi ejecutable no se cargaron.
No cambié nada en el menú Símbolos, en su lugar hice algunos cambios dentro de las Páginas de propiedades del hilo de mi ejecutable en el Explorador de soluciones, a saber
Propiedades de configuración / General / Habilitar compilación incremental administrada a SÍ
Propiedades de configuración / Depuración / Combinar entorno a NO
Propiedades de configuración / C / C ++ / Habilitar la información de exploración en SÍ (/ FR)
Propiedades de configuración / Enlace / Habilitar enlace incremental a SÍ (/ INCREMENTAL)
EDITAR: Este último hace el truco
....
Propiedades de configuración / Linker / Debugging / Generar información de depuración a Sí (/ DEBUG)
....
Después de eso funcionó y cargó bien los símbolos. Estoy seguro de que uno o más de los anteriores me sirvieron (aunque no estoy seguro exactamente de cuál) y solo quiero que otros lo sepan e intenten esto.
paz
fuente
Intente hacer clic derecho en uno de los puntos de interrupción y luego elija 'Ubicación'. Luego marque la casilla de verificación 'Permitir que el código fuente sea diferente de la versión original'
fuente
Opciones de "aceleración" del símbolo de depuración de Visual Studio 2017, suponiendo que ya no se haya vuelto loco con la personalización de opciones:
Tools -> Options -> Debugging -> Symbols
un. Habilite la opción "Microsoft Symbol Server"
b. Haga clic en "Vaciar caché de símbolos"
c. Establezca su caché de símbolos en un lugar fácil de encontrar, como
C:\dbg_symbols
o%USERPROFILE%\dbg_symbols
1A y 2 son los pasos más importantes. 1B y 1C son solo cambios útiles para ayudarlo a realizar un seguimiento de sus símbolos.
Después de que su aplicación haya cargado todos los símbolos al menos una vez y la depuración no haya terminado prematuramente, esos símbolos deben cargarse rápidamente la próxima vez que se ejecute la depuración.
Me di cuenta de que si cancelo una ejecución de depuración, tengo que volver a cargar esos símbolos, ya que supongo que se "limpian" si se introducen recientemente y se cancelan de repente. Entiendo la razón fundamental para ese tipo de flujo, pero en este caso parece mal pensado.
fuente
Desmarcar "Habilitar la depuración de JavaScript para ASP.NET (Chrome e IE)" en Herramientas-> Opciones-> Depuración-> General resolvió mi caso sin disponibilidad para iniciar el depurador VS2017 con puntos de interrupción preestablecidos.
fuente
Lo único que funcionó para mí fue cambiar el tipo de código.
En la ventana Adjuntar al proceso , cambié la selección Adjuntar a: para determinar automáticamente el tipo de código a depurar , luego se alcanzaron mis puntos de interrupción.
Anteriormente solo tenía el código nativo seleccionado.
fuente
Tuve un problema similar en el que Visual Studio sigue cargando el símbolo y se atascó.
Resulta que agregué algunos "argumentos de línea de comando" en las opciones de depuración, y uno de los parámetros no es válido (se supone que debo pasar algunos valores).
Después de eliminar el parámetro adicional, comienza a funcionar nuevamente.
fuente