Visual Studio C++ 构建后没有更新新代码

3
在开始之前,我想先说一下,我已经花了一个小时在各处寻找解决这个问题的方法。虽然有很多相同的问题,但是没有一个解决方案能够帮到我。
我正在尝试调试一个小项目。当我开始工作时,我可以在任何地方放置断点并命中它们。但由于某种原因,现在当我在主程序之外放置断点(例如在类定义中),代码运行时断点会变成空心的,并出现一条消息,说明源代码与原始版本不同。
这让我认为它正在运行以前的版本,所以我做了一个明显的更改,让代码输出一些随机字母“dajfhdjhfds”;
像往常一样按下 F7 键。得到一条消息,显示Build: 1 succeeded。按下F5键,程序运行但不显示随机字母。
我清理了我的解决方案,然后构建,更改就出现了。我“重新构建”解决方案,更改也出现了。断点也起作用。
但是如果我进行进一步的更改,断点就停止工作,更改也不会出现在程序中。Visual Studio 总是运行旧代码。我不想每次想要调试新代码时都必须清理我的解决方案。
我已经重置了我的设置,在配置管理器中勾选了“构建”,甚至开始了一个全新的项目,并将我的代码复制到新文件中。但问题依旧存在。

你尝试过重新启动电脑吗?可能是由于调试服务出现问题,依赖于有关项目的缓存信息。 - Captain Obvlious
1
我经常遇到这样的小错误。除非我重新构建项目,否则我只有50%的把握它能正常工作。 - kovarex
偶尔我会遇到这个问题。我只需重启VS并重新构建项目即可。 - shivakumar
你正在使用哪个版本的Visual Studio? - ThomasMcLeod
我正在使用Visual Studio 2012。我尝试重新启动Visual Studio,并且第一次运行时它能正常工作,但是随后的每一次问题都会再次出现。我将尝试重新启动我的电脑! - Fabio
3个回答

2

我也遇到过这个问题,使用WinForms。我正在添加消息框来测试代码,但什么都没有发生,只有预先存在的消息框有效。我不确定我是如何解决它的,但在“生成解决方案”、“重建解决方案”、“清理解决方案”和“生成(程序名称)”所有在“生成”菜单下之后,问题消失了。与我之前遇到的问题不同的是,我没有在解决方案之间复制+粘贴任何代码。


我在Visual Studio 2013 Pro中的C#控制台应用程序中遇到了同样的问题。我修改了代码,点击了运行按钮,但每次都会运行旧的可执行文件,即使我已经从Debug文件夹中删除了它。我点击了“重新生成解决方案”,但编译失败了,并出现了一直存在的语法错误。 - Jesbus

2
问题在于我将代码从原始项目复制到另一个位置的全新项目中。当我尝试在新位置构建项目时,它总是在旧位置进行构建(奇怪的是我直接将代码复制到全新文件中)。
当我尝试运行文件时,它会在新位置查找已构建的代码。因此,它总是获取过期的代码。
将新代码放回旧位置即可解决问题!
谢谢大家。

1
我开始遇到一个相同的问题,我认为这一切都是在我使用新名称重新创建项目时开始的。 也就是说,我不得不复制所有内容。 问题是我不知道什么东西没有完全复制,现在需要重新构建我的代码更改。在文本编辑器中检查了解决方案和项目文件,没有旧的文件夹结构的迹象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接