在Visual Studio 2015中调试期间缺少本地人员

Mat*_*ott 10 debugging xunit visual-studio-2015 dnx asp.net-core

问题
Locals仅this在调试时显示变量,其他局部变量在LocalsWatch中不可用,但可以在Visual Studio的中间窗口中重新评估

缺少本地的Visual Studio调试窗口

简介
我正在为我正在编写的一些代码调试Xunit测试.我正在测试的库是ASP.NET Core RC1的目标.这是我的project.json:

{ "authors": [ "Matthew Abbott" ], "commands": { "test": "xunit.runner.dnx" }, "description": "Provides tests for the Fx.Content.Composer package", "dependencies": { "xunit": "2.1.0-rc1-build3168", "xunit.runner.dnx": "2.1.0-rc1-build204", "Fx.Content.Composer": "" }, "frameworks": { "dnx451": { }, "dnxcore50": { "dependencies": { "System.Runtime": "4.0.21-beta-23516" } } }, "licenseUrl": "", "projectUrl": "", "tags": [ "" ], "version": "1.0.0-*" }

在调试单元测试时(我在构建的测试功能中使用Visual Studio),我可以设置断点,但是Locals/Watch窗口不允许我检查局部变量声明.我也没有得到那些局部变量的变量工具提示.

如果我将我的语句复制并粘贴到Intermediate中,则会将它们添加到范围中,但我无法直接调试.

我尝试过的事情

  • 确保我在调试模式下编译
  • 禁用JIT优化
  • 重置我的Visual Studio设置

值得注意的事情

  • 我最近安装了Visual Studio 2015 Update 2
  • 我已经多次重启IDE但没有成功
  • 我几次重启机器都没有成功
  • 未明确绑定到单元测试调试会话 - 当我运行F5时,它们也会失败

任何帮助将不胜感激!

更新 根据Victor的评论,我尝试从单元测试中逐步进入一个方法,最初一个参数在范围内可用,但是进一步定义的变量不是.

部分失踪的当地人?

Pat*_*SFT 11

更新:请注意,此答案仅适用于Visual Studio 2015 Update 2.如果您在Visual Studio的任何其他版本中缺少本地人,则会发生其他事情. 您只能在Visual Studio 2015 Update 2上安装此修补程序修补程序 .Visual Studio 2015 Update 3及更高版本已经具有此修复程序.

原答案:

这看起来像是Visual Studio 2015 Update 2中引入的错误.本质上,调试器无法检查动态模块中的局部变量.我们今天发布了一个修补程序.你可以在这里下载补丁.补丁的文档在这里.如果补丁不能修复您的特定方案,请告诉我.

谢谢!

- 帕特里克·尼尔森

  • 我在VS 2015 Update 3中遇到了同样的问题,无法为其安装Update 2补丁. (3认同)