2010-10-24 17 views
5

Al ingresar al origen de .NET (el paso de fuente .NET está habilitado en Opciones de depuración y solo mi código está deshabilitado), por alguna razón en los Autos y Ver ventanas en VS2010, no puedo ver los parámetros en las funciones de .NET framework en los paneles de reloj o autos. Sin embargo, puedo ver las variables locales. ¿Por qué es esto?No se pueden ver los parámetros mientras recorre el origen de .NET 4.0 en C#/VS2010

Actualización: Se trata de una versión de 64 bits (x64) de depuración sin optimizaciones. No hay error, yo simplemente no puede "ver" Parámetros de funciones como:

// Enumerable.cs 

public class Lookup<TKey, TElement> : IEnumerable<IGrouping<TKey, TElement>>, ILookup<TKey, TElement>{ 
... 
    internal static Lookup<TKey, TElement> Create<TSource>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer) { 

Actualización 2: Parece que, por defecto, sólo se instala la versión de lanzamiento de la plataforma .NET 4.0. Aún puede ingresar, pero es posible que no vea algunos parámetros de funciones y variables locales (y establezca puntos de interrupción en algunas líneas). Lo que supongo que realmente me gustaría es usar una compilación Debug del framework .NET 4.0 para que pueda ver todos los params, los locales y poner puntos de interrupción en todas las líneas. ¿Cómo hago para instalar esto, si ya tengo VS2010 Premium instalado?

+0

¿Qué error se puede conseguir? – SLaks

Respuesta

5

You probably need to disable optimizations.

Editar por Michael Goldshteyn - autor de la pregunta:

Aquí están las instrucciones completas de esa URL:

  1. La siguiente variable de entorno debe ajustarse antes de VS2010 se inicia:

    conjunto COMPLUS_ZapDisable = 1

  2. El proceso de alojamiento de VS debe estar deshabilitado:

    Para deshabilitar el proceso de alojamiento en VS2010

    1.Abra un proyecto en Visual Studio.
    2.En el menú Proyecto, haga clic en Propiedades.
    3.Haga clic en la pestaña Depurar.
    4. Seleccione la casilla de verificación Habilitar el proceso de alojamiento de Visual Studio.

+1

Solo para mayor claridad, solo necesita deshabilitar el proceso de alojamiento de VS para el Proyecto de inicio en su solución. –

+0

Tienes que hacer ambas cosas para poder acceder (en todos los niveles) al código fuente de .NET Framework. –

+0

Lo sé: solo quería decir que no necesita deshabilitar el proceso de alojamiento de VS para todos los proyectos en su solución. :) –

0

Es posible que se depura una versión de lanzamiento - y comprueba que está ejecutando una versión de depuración. (Lo que puede "mirar" parece ser bastante variable en compilaciones de versión)

0

¿Necesita desarmar COMPLUS si desea volver a habilitar la depuración optimizada? ¿Esto es aconsejable? Cómo se restablece la siguiente manera

set COMPLUS_ZapDisable=0 
+0

¿Tenía la intención de ser una respuesta o una pregunta de seguimiento? –

0

De http://reflectorblog.red-gate.com/2012/03/debugging-debugging-experience/

Crear un archivo en la carpeta ejecutable llamado YourAppName.ini, donde mi_aplicacion se sustituye por el nombre del fichero de su montaje. Entonces, si tiene SampleApp.exe, creará SampleApp.ini.

El contenido de este archivo ini deben contener

[.NET Framework Debugging Control] 
GenerateTrackingInfo=1 
AllowOptimize=0 

guardar el archivo y puede iniciar la depuración. Es posible que no necesite deshabilitar el proceso de alojamiento VS Studio al hacer esto.Al deshabilitar el proceso de alojamiento, como otros han sugerido, se producen bloqueos intermitentes cuando se utiliza la ventana Inmediato, que es una parte integral de la experiencia de depuración.

depuración feliz!

Cuestiones relacionadas