我在另一个网站上找到了另一个用户的线程,但是在我使用C ++的时候,他正在使用Fortran:
https://software.intel.com/en-us/forums/topic/508718
事实上,我可以引用她/他:
问题:
我的问题是在调试模式下程序算法工作正常,除了它没有显示变量的值。
我尝试了观察窗口并将鼠标移到变量上,但它们都不起作用。
我尝试了非常简单的代码,比如Hello World,只是定义了一个整数,但程序无法在调试模式下显示变量的值。
调试模式有时会正常工作。有时我必须重新启动调试器10次然后它可以工作一次。无论是添加还是删除断点都无关紧要。
我的设置:
Windows 7 64位
Visual Studio Ultimate 2013(来自MSDNAA,所有原创内容)版本12.0.30501.00更新2.
我有另一台安装了Windows 7 64位且安装了相同Visual Studio版本的笔记本电脑 - >同样的问题!
答案 0 :(得分:1)
我偶尔遇到同样的问题,以下步骤可以帮助我解决问题:
确保在Debug版本中停用优化。如果它们被启用,则编译器将删除堆栈帧,将变量值放入cpu寄存器或内联整个函数。 调试器不喜欢优化。
确保使用Debug Runtime Library (在'Code generation'中选中'Runtime Library'并选择Multithreaded-Debug或Multithreaded-Debug-DLL)
重建您的应用(右键单击Project - >“Rebuild”)。有时存在可以通过重建来解决的问题(即,当您从存储库更新源文件时,这些文件比您的二进制文件更新但是更新,然后是您构建二进制文件的源;或者当您更新编译器或库时,只有部分文件更新应用程序正在重建)。
“代码生成”选项页面中的禁用最小重建。它可能搞乱程序数据库。
如果一切都失败了,您可以尝试使用默认设置创建一个干净的新项目,并添加所有现有的.cpp / .h文件。这样就可以确保您的设置不会搞砸。
如果您使用在命名空间中定义的全局变量,则始终必须在监视窗口中输入命名空间(即,命名空间'Y'中定义的变量'x'必须被视为'Y' :: X')
答案 1 :(得分:0)
在程序结束时或getchar();
语句末尾使用cout
。根据我的经验,我不得不多次使用getchar();
来显示变量和解决方案。试试吧!