Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging Visual Studio 2015调试:Can';不展开局部变量?_Debugging_Variables_Visual Studio 2015 - Fatal编程技术网

Debugging Visual Studio 2015调试:Can';不展开局部变量?

Debugging Visual Studio 2015调试:Can';不展开局部变量?,debugging,variables,visual-studio-2015,Debugging,Variables,Visual Studio 2015,我正在使用VisualStudio2015预览版,我正在尝试调试我的项目。我以前使用的是VS 2012,很大程度上依赖于能够悬停在局部变量上并展开它们来查看它们的值。我现在正试图在2015年这样做,但当我将鼠标悬停在一个变量上时,显示的框中只显示“(局部变量)Classname variablename”(例如“(局部变量)String title)。没有展开按钮,并且它不会在框中显示变量的值 是否需要更改设置才能将鼠标悬停在变量上并展开它们?这可能是一个错误。如果你有复印件,请附上复印件 同时

我正在使用VisualStudio2015预览版,我正在尝试调试我的项目。我以前使用的是VS 2012,很大程度上依赖于能够悬停在局部变量上并展开它们来查看它们的值。我现在正试图在2015年这样做,但当我将鼠标悬停在一个变量上时,显示的框中只显示“(局部变量)Classname variablename”(例如“(局部变量)String title)。没有展开按钮,并且它不会在框中显示变量的值

是否需要更改设置才能将鼠标悬停在变量上并展开它们?

这可能是一个错误。如果你有复印件,请附上复印件

同时,您可以通过设置调试器选项以使用旧版调试引擎来解决此问题:工具->选项->调试->常规:选中“使用旧版C#和VB表达式计算器”和“使用托管兼容模式”

这种变通方法每次都对我有效。但请你还是把这些bug归档吧


我遇到了一个类似的问题,当我将鼠标悬停在局部变量上时,一些变量会让我深入,而一些变量则不会显示任何内容。经过一番挖掘,我发现了一篇关于msdn的文章,其中建议在VS中重置设置。一旦我这样做,我得到一个通知,我正在以发布模式运行,一些调试功能可能不可用。一旦我切换到调试模式,一切正常

希望这也适用于您。

如前所述,您需要启用调试-->选项-->调试-->常规中的复选框“在模块加载时抑制JIT优化(仅限托管)”


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

我在VS2015中遇到了类似的问题,一些变量会显示调试值,其他变量在悬停时不会显示任何内容

从Andrew Arnott启用以下设置解决了我的问题:
工具->选项->调试->常规:“使用传统的C#和VB表达式计算器”

我发现了在使用CLI进行调试时,如何突破本机代码并访问STL容器的内容:

Tools\Options…\Debugging\General:取消选中“使用托管兼容模式”(是!取消选中!)

在本机代码中,要添加断点,只需添加以下内容:

断言(假)

当突破海岸线时,只需单击“重试”进行调试或单击“忽略”继续

愉快地使用Visual Studio 2015调试:)


Kochise

我正在处理一个没有优化集的“调试”配置,所以我重复:

使用托管兼容性:可以使用断点,但不能监视值

不使用托管兼容性:不能使用断点,但可以监视值

因此,当不使用托管兼容性时,使用断言作为断点,可以在需要时停止并监视值

试试看

我提供给你我的把戏,因为我现在正面临同样的问题,在最终交付前1周。而假装女士在更新2中为2016年计划一个完整的修复方案简直让人无法忍受

顺便说一句,这是另一个完美的“突破”:

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


Kochise

我发现,只要将带有“Release and debug”的组合框更改回debug,就可以在再次调试代码时看到变量的扩展

这一最新解决方案在我的家用电脑上适用于VS 2017

在2017年我完成了“构建>>清洁解决方案”选项后,我的工作PC能够显示此扩展,甚至在组合框设置为“发布”时也能工作


祝所有其他想要这个美妙的调试帮助表单的人好运,我希望通过使用这些方法中的一种,你能够回到“正常”状态“

我有一个项目使用缩小的JavaScript文件,希望使用TypeScript文件进行调试。我将未统一的JavaScript和关联的TypeScript放入项目中,并将引用更改为使用普通JavaScript文件,而不是缩小的文件。我的断点出现在TypeScript文件中,但我没有得到悬停信息(令人惊讶的是,它看起来像是在手表工作时添加了对象/变量)


为了修复这个问题,我只是从项目的文件中排除了缩小的JavaScript,并包含了JavaScript。(我留下的TypeScript文件被排除在外)。

这在VS2017中对我有效(我的VS是德语的,因此选项卡名称可能会有点不同):

项目->属性->C/C++->代码生成->运行时错误检查->\RTC

另外,请尝试停用优化选项,因为加快代码速度可能意味着无法查看局部变量的值:

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

在我的例子中,解决方案配置设置为调试,但解决方案平台设置为混合平台。将解决方案平台设置为任何CPU解决了该问题


您还可以尝试更新到最新的CTP吗?这可能是一个已知的问题,已经解决了。如果它仍然可以复制,请给我们一个复制项目和步骤(连接或集成在VS now中的反馈工具)。谢谢同样在VS2019预览版中得到了这一点,但解决方案不再存在,如果有人知道适用于VS2019的解决方案,请告诉我。不幸的是,这对我的问题不起作用,这与OP类似,但与OP不完全相同。在我的情况下,在VS2015中,悬停在我的变量上只对某些变量有效,而对其他变量无效。当我找到一个解决方案时,我会发布一个解决方案/解决方案。很快,我在这里找到了一篇关于msdn的文章:建议在VS中重置设置。我认为“使用托管兼容性模式”就足够了。需要进行更详细的测试,但选中此选项后,我能够看到局部变量调试值,非常感谢!我有一个si