在C#/ VS2010中单步执行.NET 4.0源代码时无法看到params

Mic*_*eyn 5 visual-studio-2010 c#-4.0

当我进入.NET源代码(在调试选项中启用了.NET源步进并且禁用了我的代码)时,出于某种原因,在VS2010的Autos和Watch窗口中,我无法在.NET框架函数中查看参数.手表或汽车窗格.但是我可以看到局部变量.为什么是这样?

更新:这是一个没有优化的调试64位(x64)版本.没有错误,我只是不能在以下函数中"观察"参数:

// 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) {
Run Code Online (Sandbox Code Playgroud)

更新2:默认情况下,似乎只安装了.NET 4.0框架的发布版本.你仍然可以进入它,但你可能看不到一些函数参数和局部变量(并在某些行上设置断点).我想我真的想要使用.NET 4.0框架的Debug构建,这样我就可以看到所有的params,locals并在所有行上放置断点.如果我已经安装了VS2010 Premium,我该如何安装呢?

SLa*_*aks 5

您可能需要禁用优化.

由Michael Goldshteyn编辑 - 问题的作者:

以下是该网址的完整说明:

  1. 在VS2010启动之前,必须设置以下环境变量:

    设置COMPLUS_ZapDisable = 1

  2. 必须禁用VS主机进程:

    在VS2010中禁用托管过程

    1.在Visual Studio中打开一个项目.
    2.在"项目"菜单上,单击"属性".
    3.单击"调试"选项卡.
    4.清除"启用Visual Studio宿主进程"复选框.