Debugging 为什么VisualStudio2010会说它可以';调试期间是否不显示变量?

Debugging 为什么VisualStudio2010会说它可以';调试期间是否不显示变量?,debugging,visual-studio-2010,Debugging,Visual Studio 2010,在Visual Studio 2010中有时,当我想在调试时获取变量的值时,它会告诉我它“在此上下文中不存在”,而它显然存在 我发现,如果我使用变量,如下面的屏幕截图中所示,那么它就能够显示它 有人经历过吗?VisualStudio2008从来没有这样做过 如何使Visual Studio 2010在调试时始终显示变量值? 冒险猜测 可能是因为您在发布模式下运行,并且变量已经优化了吗?一旦您实际使用了该值,它就不能再优化该值了?GetListOfFileNames()是否正在推迟执行?试着在上面

Visual Studio 2010中有时,当我想在调试时获取变量的值时,它会告诉我它“在此上下文中不存在”,而它显然存在

我发现,如果我使用变量,如下面的屏幕截图中所示,那么它就能够显示它

有人经历过吗?VisualStudio2008从来没有这样做过

如何使Visual Studio 2010在调试时始终显示变量值?

冒险猜测


可能是因为您在发布模式下运行,并且变量已经优化了吗?一旦您实际使用了该值,它就不能再优化该值了?

GetListOfFileNames()是否正在推迟执行?试着在上面钉上.ToList()。

愚蠢的问题。助手方法没有使用LINQ,是吗?您正在调试什么语言/环境(ASP.NET?)?您是否在进程已经运行后附加到该进程?(如果没有附加调试器,.NET JIT的编译方式可能会有所不同)。文件名会得到优化,因为您实际上不需要对其执行任何操作。当我以同样的方式使用变量(即,它仅用于调试目的)时,我会使用Console.Write(fileNames.Count)(或Debug.Write)来跟踪它,以确保它被“使用”。你甚至可以在发布模式下使用调试器吗?当然可以!将构建配置更改为“Release”并点击F5-应该仍然运行,尽管YMMV启用了优化。我只是猜测这可能就是这里看到的。远远的。。。你的想法似乎很有可能。就是这样,我不知道你可以在发布模式下调试,所以我没有想到,谢谢!