visual ver ventana studio locales inspeccion depuracion autos automatico debugging variables visual-studio-2015

debugging - ver - view local variables visual studio 2017



Depuración de Visual Studio 2015: ¿no se pueden expandir las variables locales? (9)

Como se describe here , debe habilitar la casilla de verificación "Suprimir optimizaciones JIT en la carga del módulo (solo administrado)" en Depuración -> Opciones -> Depuración -> General.

También debe eliminar el indicador "Optimizar código" en las propiedades de sus proyectos.

Estoy usando la vista previa de Visual Studio 2015, y estoy tratando de depurar mi proyecto. Estaba usando VS 2012 anteriormente, y dependía en gran medida de poder desplazarme y expandir las variables locales para ver sus valores. Estoy tratando de hacer esto en 2015 ahora, pero cuando paso el mouse sobre una variable, el cuadro que aparece solo dice "(variable local) Classname variablename" (por ejemplo, "(variable local) Título de cadena"). No hay un botón de expansión, y no muestra el valor de la variable en el cuadro.

¿Hay alguna configuración que deba cambiar para poder pasar el mouse sobre las variables y expandirlas?


Descubrí que simplemente cambiando el cuadro combinado con "Liberar y depurar" de nuevo a depurar me permitió ver la expansión de variables al depurar mi código nuevamente.

Esta nueva solución funcionó para VS 2017 en la PC de mi hogar.

Mi PC de trabajo pudo mostrar esta expansión en 2017 después de que hice la opción "Build >> Clean Solution" e incluso funcionará cuando el cuadro combinado esté configurado en "Release".

La mejor de las suertes para cualquiera que quiera esta maravillosa ayuda de depuración de VS. Espero que al usar uno de estos métodos pueda volver a la "normalidad".


Estaba teniendo un problema similar en VS2015 donde algunas variables mostraban los valores de depuración, otras no mostraban nada cuando se pasaba el mouse.

Habilitar la siguiente configuración de Andrew Arnott resolvió mi problema: Herramientas -> Opciones -> Depuración -> General: "Usar los evaluadores de expresiones C # y VB heredados"


Esto funcionó para mí en VS2017 (Mi VS está en alemán, por lo que los nombres de las pestañas podrían ser un poco diferentes):

Proyecto -> Propiedades -> C / C ++ -> Generación de código -> RunTimeErrorCheck -> / RTC

También intente desactivar la opción de optimización, ya que hacer que su código sea más rápido podría significar no poder ver los valores de sus variables locales:

Proyecto -> Propiedades -> C / C ++ -> Optimización -> Desactivado


Estoy trabajando en una configuración de ''Depuración'' que no tiene un conjunto de optimización, así que repito:

Uso de compatibilidad administrada: puede usar punto de interrupción, pero no puede ver valores

No se usa la compatibilidad administrada: no se puede usar el punto de interrupción, pero se pueden ver los valores

Por lo tanto, usar la aserción como punto de interrupción cuando no se usa la compatibilidad administrada le permite detenerse donde sea necesario Y observar los valores.

Intentalo.

Te proporcioné mi truco porque ahora estoy enfrentando el mismo problema, 1w antes de la entrega final. Y MS pretende que planear una solución completa para 2016 en la actualización 2 es insoportable.

Por cierto, esto hace otro ''descanso'' perfecto:

int * p = NULL, i = 1 / * p;

Kochise


He descubierto la forma de entrar en el código nativo y tener acceso al contenido de los contenedores STL al depurar usando CLI:

Herramientas / Opciones ... / Depuración / General: desmarque ''Usar modo de compatibilidad administrada'' (¡SÍ, DESMÁCELO!)

En el código nativo, en lugar de agregar puntos de interrupción, simplemente agregue esto:

afirmar (falso);

Al romper contra las costas, simplemente haga clic en ''Reintentar'' para depurar o en ''Ignorar'' para continuar.

Feliz depuración con Visual Studio 2015 :)

Kochise


Puede ser un error. Por favor, presente un error de conexión con un repro si tiene uno.

Mientras tanto, es posible que pueda solucionar el problema configurando las opciones del depurador para usar el motor de depuración heredado: Herramientas -> Opciones -> Depuración -> General: marque "Usar los evaluadores de expresiones C # y VB heredados" y "Usar Modo de compatibilidad gestionada ".

Esa solución me ha funcionado siempre. ¡Pero por favor, sigan archivando los errores!


Tenía un proyecto que usaba archivos JavaScript minificados y quería usar los archivos TypeScript para la depuración. Puse el JavaScript no minificado y el TypeScript asociado en el proyecto y cambié las referencias para usar el archivo JavaScript normal y no el minificado. Mis puntos de ruptura se alcanzaron en el archivo TypeScript, pero no estaba obteniendo información de desplazamiento (sorprendentemente, parecía agregar el objeto / variable como un reloj parecía funcionar).

Para solucionarlo, simplemente excluí el JavaScript minificado del archivo del proyecto e incluí el JavaScript. (El archivo TypeScript que dejé excluido).


Tuve un problema similar en el que cuando pasaba el mouse sobre mi variable local, algunos me permitían profundizar y otros no mostraban nada. Después de investigar un poco, encontré un artículo sobre msdn here , que sugería restablecer la configuración en VS. Una vez que hice eso, recibí un aviso de que estaba funcionando en modo Release y que algunas características de depuración pueden no estar disponibles. Una vez que cambié al modo de depuración, todo funcionó como normal.

Espero que esto funcione para ti también.