c++ - 为什么在 VS2008 中使用旧版 C++ win32 项目“编辑并继续”对我不起作用?

标签 c++ visual-studio-2008 edit-and-continue

如果我在 VS2008 中创建一个新的 win32 C++ 项目,我可以很好地使用“编辑并继续”,但是对于这个遗留项目,我尝试使用/启用它失败了。

以下是我检查过的内容:

工具 -> 选项 -> 调试 -> 编辑并继续 -> 启用编辑并继续。

调试信息格式:程序数据库(/Zi)

代码生成 -> 启用函数级链接:是 (/Gy)

查找损坏的 .ILK 文件。我找不到任何 .ILK 文件 - 它们在 2008 年仍在使用吗?

但是当我进入程序,更改下一行,然后再次进入时,我得到:

“此源文件已更改。它不再匹配...”

而不是

“您想要编辑并继续应用您的代码更改吗?”

E&C 不起作用的这个项目有什么问题?

最佳答案

我假设您有调试符号/等,并且旧版 C++ 应用程序已使用此支持编译...

If not, then you will run into the problem that the code was not 'instrumented' to allow for injection of alternate code.

我怀疑输出代码格式的变化会使 VC++ 2008 不兼容...因为我怀疑微软在其中添加了这种向后兼容性(直到 VS 2008,我认为他们甚至很难使用旧版本的 .Net 没有使用特定的VS)

关于c++ - 为什么在 VS2008 中使用旧版 C++ win32 项目“编辑并继续”对我不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1139428/

相关文章:

visual-studio-2008 - VS 2008 中的程序切片

visual-studio - 使用另一个屏幕中的“测试结果” View 运行调试测试时,Visual Studio 崩溃

visual-studio-2008 - 有人在生产中使用 Moles/Pex 吗?

c++ - 编辑并继续不起作用(C++,Visual Studio Community 2015)

c# - 仅在“编辑并继续”中出现错误 CS7038(无法发出模块)

c++ - QTcpSocket 数据传输在读取缓冲区已满时停止,并且在释放时不会恢复

c++ - 当没有迭代器失效时,这是否包括结束迭代器?

python - 使用不同的 Python 工具连接 C/C++

c++ - 声明变量时 = 与复制构造函数 C++ 相同吗?