Visual Studio 2015debugging:无法扩展本地variables?

我正在使用Visual Studio 2015预览,我试图debugging我的项目。 以前我使用的是VS 2012,主要依靠hover和扩展局部variables来查看它们的值。 我试图在2015年做到这一点,但是当我把鼠标hover在variables上时,只显示“(局部variables)类名variables名”(例如“(局部variables)string标题”)的框。 没有展开button,它不显示框中的variables的值。

是否有一个设置,我必须改变,以便能够hover在variables和扩展它们?

这可能是一个错误。 如果有的话, 提交一个连接错误报告 。

与此同时,通过设置debugging器选项来使用传统的debugging引擎,你也许能够解决这个问题:工具 – >选项 – >debugging – >常规:同时选中“使用传统的C#和VBexpression式评估器”和“使用托pipe兼容模式“。

这个解决方法每次都适用于我。 但是,请继续提交错误!

选项窗口

我有一个类似的问题,当我徘徊在我的局部variables上时,有些让我更深入,有些不会显示任何东西。 经过一番挖掘,我在这里find了一篇关于msdn的文章: http : //bit.ly/1Ir4yFv ,build议重置VS中的设置。 一旦我这样做,我得到了一个通知,我在发布模式下运行,并且一些debuggingfunction可能不可用。 一旦我改变到debugging模式,一切正常。

希望这也能为你工作。

我在VS2015中遇到了类似的问题,其中一些variables会显示debugging值,而其他variables则不会显示任何内容。

从Andrew Arnott启用以下设置解决了我的问题:工具 – >选项 – >debugging – >常规:“使用传统的C#和VBexpression式评估器”

如此处所述,您需要在“debugging” – >“选项” – >“debugging” – >“常规”中启用“禁止JIT模块负载优化(仅限pipe理)”。

您还需要删除项目属性中的“优化代码”标志。

我已经发现了如何在使用CLI进行debugging时打破原生代码并访问STL容器的内容:

工具\选项… \debugging\常规:取消选中“使用托pipe兼容模式”(YES!UNCHECK IT!)

在本地代码中,而不是添加断点,只需添加:

断言(假);

当打破海岸,只需点击“重试”debugging或“忽略”继续。

使用Visual Studio 2015进行快速debugging:)

Kochise

我发现只要将“释放和debugging”更改为debuggingcombobox,就可以在再次debugging代码时看到variables的扩展。

这个最新的解决scheme适用于我家用PC上的VS 2017。

我的工作电脑能够在2017年展示了这个扩展后,我做了“构build>>清洁解决scheme”选项,甚至当combobox设置为“释放”时,将工作。

祝好运的人都希望这个奇妙的debugging帮助formsVS. 我希望通过使用这些方法之一,你可以回到“正常”。

我有一个使用缩小的JavaScript文件的项目,并希望使用TypeScript文件进行debugging。 我将未经修饰的JavaScript和相关的TypeScript放入项目中,并将引用更改为使用普通JavaScript文件而不是缩小的文件。 我的断点在TypeScript文件中被击中,但我没有得到hover信息(令人惊讶的是,看起来像添加对象/variables看起来似乎工作)。

为了解决,我只是从项目的文件中排除了缩小的JavaScript,并包含JavaScript。 (我排除的TypeScript文件)。

这对我在VS2017(我的VS是在德国,所以标签名称可能有点不同):

项目 – >属性 – > C / C ++ – >代码生成 – > RunTimeErrorCheck – > \ RTC

另外尝试停用优化选项,因为使代码更快可能意味着无法观察本地variables的值:

项目 – >属性 – > C / C ++ – >优化 – >禁用

我正在研究没有优化设置的“debugging”configuration,所以我再说一遍:

使用托pipe兼容性:可以使用断点,但不能看值

不使用托pipe兼容性:不能使用断点,但可以看值

因此,当不使用托pipe兼容性时,使用断言作为断点,可以停止所需的AND值。

尝试一下。

我给你提供了我的窍门,因为在最终交付之前的一周,我正面临同样的问题。 而在2016年更新2中,MS假装计划一个完整的解决scheme是无法忍受的。

顺便说一句,这使得另一个完美的“rest”:

int * p = NULL,i = 1 / * p;

Kochise