我在一个解决方案中有一个.NET核心项目和一个Xunit项目,我突然遇到调试问题。这似乎与昨天安装更新2一致。
调试并点击断点时,只有少数几个参数显示在本地,汽车,监视或可从即时窗口访问。我认为,但尚未100%验证,我可以访问的变量是全局变量,并且作为参数传递给函数。
例如,看一下这个测试的一部分:
public void UniTest4()
{
var s = @"{
""id"": ""0001"",
""type"": ""donut"",
""name"": ""Cake"",
""ppu"": 0.55,
""batters"":
{
""batter"":
[
{ ""id"": ""1001"", ""type"": ""Regular"" },
{ ""id"": ""1002"", ""type"": ""Chocolate"" },
{ ""id"": ""1003"", ""type"": ""Blueberry"" },
{ ""id"": ""1004"", ""type"": ""Devil's Food"" }
]
},
""topping"":
[
{ ""id"": ""5001"", ""type"": ""None"" },
{ ""id"": ""5002"", ""type"": ""Glazed"" },
{ ""id"": ""5005"", ""type"": ""Sugar"" },
{ ""id"": ""5007"", ""type"": ""Powdered Sugar"" },
{ ""id"": ""5006"", ""type"": ""Chocolate with Sprinkles"" },
{ ""id"": ""5003"", ""type"": ""Chocolate"" },
{ ""id"": ""5004"", ""type"": ""Maple"" }
]
}";
var token = yayson.MakeToken(s);
当我在最后一行打破时,我无法触及变量" s"。我已经找到了其他类似问题的人,然后看到了这可能是由于构建了某些编译器优化的建议。但这对我来说真的如此吗?下面显示的是我的Xunit项目的构建设置。我的业务项目看起来是一样的,除了要检查的顶部复选框(它也是,在VS更新之前工作得很好)。
如何再次查找本地变量?
答案 0 :(得分:5)
我终于通过这个问题找到了Andrew Arnott的解决方案:Visual Studio 2015 Debugging: Can't expand local variables?
只需勾选“使用托管兼容模式”框即可解决我的问题。虽然我很想知道为什么会有所帮助。