visual studio scripts punto modo interrupcion habilitada está encuentra depurar depuración debuggear debug como chrome breakpoint aplicacion c# visual-studio-2010 debugging

c# - studio - No se puede obtener el valor de local o argumento, ya que no está disponible en este puntero de instrucción, posiblemente porque se ha optimizado



la depuración de scripts de chrome en visual studio está habilitada (13)

Visual Studio 2010 elimina (no hay otra palabra) datos en uno de los argumentos de funciones en el bloque inseguro. ¿Qué podría causar este error? El siguiente mensaje se muestra por el depurador.

Cannot obtain value of local or argument as it is not available at this instruction pointer, possibly because it has been optimized away.


Acabo de toparme con esto y me estaba ejecutando en la configuración de versión Release lugar de la configuración de compilación Debug . Una vez que cambié de nuevo a Debug mi variable se mostró nuevamente en el reloj.


Como respuesta adicional para aquellos que experimentan este problema al depurar una aplicación web de sitios web Azure:

Al implementar desde GitHub, por ejemplo, el código se compila en el servidor de Azure optimizado de forma predeterminada.

Le digo al servidor que compile de manera SCM_BUILD_ARGS configurando SCM_BUILD_ARGS en /p:Configuration=Debug

pero hay más opciones. Vea esto: http://azure.microsoft.com/blog/2014/05/08/introduction-to-remote-debugging-on-azure-web-sites-part-3-multi-instance-environment-and-git/


Compruebe si tiene un atributo Debuggable en su archivo AssemblyInfo. Si lo hay, elimínelo y reconstruya su solución para ver si las variables locales están disponibles.

Mi atributo depurable se configuró en: DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints, que según este artículo de MSDN le dice al compilador JIT que use optimizaciones. Eliminé esta línea de mi archivo AssemblyInfo.cs y las variables locales estaban disponibles.


Cuando tuve que enfrentar el mismo problema, tuve que limpiar mi solución antes de reconstruirla. Eso se encargó de eso.


Descubrí que tenía el mismo problema cuando estaba ejecutando un proyecto y depurando adjuntando a un proceso de IIS. También me estaba ejecutando en modo de depuración con las optimizaciones desactivadas. Aunque pensé que el código compilaba bien, cuando me desconecté e intenté compilar, no se encontró una de las referencias. Esto se debió a otro desarrollador aquí que hizo modificaciones y cambió la ubicación de la referencia. La referencia no apareció con el símbolo de alerta, así que pensé que todo estaba bien hasta que hice la compilación. Una vez que se solucionó la referencia y se ejecutó nuevamente, funcionó.


En Visual Studio 2012:

Vaya a las propiedades del proyecto -> Depurar -> Desmarque "Habilitar el proceso de alojamiento de Visual Studio"


En cuanto al problema con la propiedad "Optimizar código" está DESCALIFICADO pero el código sigue compilando como optimizado: Lo que finalmente me ayudó después de probar todo fue marcar la casilla "Habilitar depuración del código no administrado" en la misma página de configuración (Propiedades del proyecto - Depurar). No se relaciona directamente con la optimización del código, pero con esto habilitado, VS ya no optimiza mi biblioteca y puedo depurar.


En mi caso, estaba trabajando en un proyecto de API web y, aunque el proyecto estaba configurado correctamente para la depuración completa, seguía viendo este error cada vez que lo adjuntaba al proceso de IIS que estaba tratando de depurar. Entonces me di cuenta de que el perfil de publicación estaba configurado para usar la configuración de Release. Entonces, un lugar más para verificar es su perfil de publicación si está utilizando la función ''Publicar'' de su proyecto de API apta.


He enfrentado el mismo problema y la solución para mí es cambiar la Solution Configuration de la Release a la Debug . Espero eso ayude


Si compila con optimizaciones habilitadas, se eliminarán muchas variables; por ejemplo:

SomeType value = GetValue(); DoSomething(value);

aquí el value variable local normalmente se elimina, manteniendo el valor en la pila en su lugar, un poco como si hubiera escrito:

DoSomething(GetValue());

Además, si no se utiliza un valor de retorno, se eliminará mediante "pop" (en lugar de almacenarse en un local a través de "stloc", y nuevamente, el local no existirá).

Debido a esto, en una compilación de este tipo, el depurador no puede obtener el valor actual de value porque no existe , solo existe durante el breve instante entre GetValue() y DoSomething(...) .

Asi que; si quiere depurar ... ¡no use una versión de lanzamiento! o al menos, deshabilitar optimizaciones mientras depura.


También en VS 2015 Community Edition

ve a Depurar-> Opciones o Herramientas-> Opciones

y compruebe Depurar-> General-> Suprimir la optimización de JIT en la carga del módulo (solo administrado)


Vaya a Propiedades del proyecto y en Build Asegúrese de que la casilla "Optimizar código" esté desmarcada.

Además, configure el menú desplegable "Información de depuración" en "Completo" en Opciones avanzadas (pestaña Compilación).


http://www.guntucomputerhacks.blogspot.com.au/2014/07/cannot-obtain-value-of-local-or.html

Esto funcionó para mí en visual studio 2013.

Todo lo que tienes que hacer es..

  1. Haga clic con el botón derecho del mouse en el proyecto que no puede depurar.
  2. Ir a las propiedades del proyecto.
  3. Haga clic en el menú de compilación.
  4. Haga clic en el botón avanzado.
  5. Establezca el valor desplegable de información de depuración en lleno.
  6. Reconstruye tu proyecto.