Visual c++构建/调试问题

Visual C++ Build / Debugging Issue

本文关键字:调试 问题 构建 c++ Visual      更新时间:2023-10-16

我在Visual Studio中遇到了一个奇怪的问题。每当我更改代码和构建时,即使我得到了构建成功的通知(如果有的话,它也显示了代码中的错误并且没有构建),可执行文件实际上是以前的构建。这真是太烦人了。

如果我在新行上放了一个断点,断点将被禁用,并显示

当前不会命中断点。没有可执行代码与这条直线相关。可能原因包括:预处理指令或编译器/链接器优化

如果我在旧的代码行中设置了断点,它会停止处理,但会显示以下消息

源代码与模块构建时不同。你想要调试器如何使用它?

我以前从来没有遇到过这个问题,源代码在我笔记本电脑的硬盘上。它马上就省了。解决这个问题的唯一方法是每次手动Clean整个解决方案,而不是基本上按F5。

感谢大家的建议。我的错误是我在.cpp文件中定义了类,这在某种程度上导致链接器做奇怪的事情(可能是缓存)并链接旧对象。我把文件重命名为.h,一切工作如预期

可能您的代码没有构建,或者以您意想不到的方式构建。

您可以通过在某处插入#error foobar预处理器指令来检查。如果在构建时没有出现错误,那么您就有麻烦了!

但我从未使用过Visual Studio(我只使用Linux),所以我不能帮助更多。

可能您已经设置了一些其他项目的主项目并构建它。

通过在菜单栏中设置主项目,将您要处理的项目设置为"主项目"。

我认为你正在使用来自另一个项目的源文件(例如:如果你正在使用dll说,my.dll(这是使用一些源文件说,mycpp.cpp);在您当前的项目中)。当您调试到文件(mycpp.cpp)时,也许您修改了它。

因此,您需要首先在创建my.dll的项目中重建dll (my.dll)。或也许您已经在窗口中打开了mycpp.cpp的实例&在另一个窗口中调试。你应该重新构建dll。

如果你没有使用其他项目的文件,那么我猜不出原因…但我仍然建议使用rebuild而不是clean &构建 .

请澄清一下你的问题。@David期待你的回复…

我一直在寻找这个问题的答案,因为我也被它卡住了。我的一个同事刚刚给了我一个有效的解决方案。是的,它看起来真的很愚蠢,但它对我有用。

我们的解决方案有许多项目。他让我选择我想要闯入的项目,并将其设置为启动项目(右键单击项目名称,选择"设置为启动项目")。我很绝望,所以我努力了。令我惊讶的是,它居然有效。

既然我已经打开了这个窗口,我想我应该分享一下,以防别人遇到这个问题。

我也面临同样的问题。但理智并不像你那样。然后我重新启动visual studio,它就像预期的那样运行了。