Visual Studio 2013编辑并继续不起作用

时间:2014-03-11 15:21:55

标签: visual-c++ mfc visual-studio-2013 edit-and-continue

使用VS2013 Pro时,我无法在调试MFC程序时使用“编辑并继续”。我创建了一个新的MFC项目进行测试。

操作系统是Windows 7 64位,我正在运行Visual Studio 2013 12.0.30110.00 Update1。

Tools->Options->Debugging->Edit and Continue下,我检查了Enable Edit and Continue。我已经取消选中并检查了它,但每当我在调试时修改代码时,我都会得到以下消息:

  

源文件已更改。它不再匹配用于构建正在调试的应用程序的文件版本。

基本上我没有更改任何设置,除了标签大小,我已经将键盘映射方案设置为VC6。

我缺少什么设置才能启用编辑并继续?

8 个答案:

答案 0 :(得分:7)

默认情况下,对本机代码禁用

编辑并继续。启用:

  1. 工具菜单上,点击选项
  2. 选项对话框中,打开调试节点,然后选择编辑并继续类别。
  3. 仅限原生选项组中,选择启用原生编辑并继续
  4. 修改: 测试本机编辑和继续的步骤正在运行:

    1. 启动VS 2013
    2. 创建一个新的MFC项目:
      • 文件 - > 新项目 - > MFC应用程序 - > 确定
      • 在MFC应用程序向导上选择完成
    3. 构建并开始调试:
      • 构建 - > 构建解决方案
      • DEBUG - > 开始调试
    4. 闯入该计划:
      • DEBUG - > 全部中断
    5. 进行代码更改:
      • 打开OutputWnd.cpp并找到COutputWnd :: OnSize(第80行)
      • 在功能开头插入此行:cx = cx / 2;
    6. 继续执行:
      • DEBUG - > 继续
    7. 调整应用程序窗口的大小,以在底部的“输出”窗格中查看代码更改的效果。它的宽度应该是所需尺寸的一半。

答案 1 :(得分:3)

编辑并继续也是每个项目的设置。

  1. 必须在C ++下的编译器选项中设置 - >一般 - >调试信息格式:“用于编辑和继续的程序数据库(/ ZI)”
  2. 还必须更改链接器设置。链接器必须使用增量链接。链接器 - >一般 - >启用增量链接=是或(对于VC 2012用户)C ++ - >所有选项 - >启用功能级链接=是(/ Gy)
  3. 有关详细信息,请阅读MSDN

答案 2 :(得分:1)

我做了上面描述的所有步骤,但没有任何帮助(感谢所有人)。

我的解决方案是:

  

项目 - >属性 - >链接器 - >高级:

设置

  

"图像具有安全异常处理程序" = NO(/ SAFESEH:NO)

应用,确定和重建项目。

希望它有所帮助。

答案 3 :(得分:1)

最后一个提示有帮助,但我们必须

  

设置“Image Has Safe exception handler”= NO(/ SAFESEH:NO)

在我们解决方案的所有项目中!

答案 4 :(得分:1)

为了它的价值,我也一直把头发拉出来。我终于通过更改以下设置进行编辑并继续工作:

项目>属性>链接器>所有选项> "图像具有安全的异常处理程序"。

设定为否(/ SAFESEH:NO)。我进去删除了它。我没有把它设置为YES,或者没有。我只是把它留空了。我很想知道空白是什么意思。但编辑和继续现在正在为我工​​作。也许这会对你有所帮助。

答案 5 :(得分:1)

带有"发布配置"的项目将禁用编辑并继续。

要更改此

  1. 打开"配置管理器"
  2. 将项目的配置从发布更改为调试
  3. 重建和调试项目

答案 6 :(得分:0)

如果您的项目的平台工具集设置为Visual Studio 2012(v110),而不是通常的Visual Studio 2013(v120),

编辑并继续也将无效。

此设置位于Project>配置属性>一般>平台工具集。

答案 7 :(得分:0)

此问题的解决方案位于Microsoft文档...

如果启用了IntelliTrace并且您同时收集了IntelliTrace事件和呼叫信息,则会禁用“编辑并继续”。

在Visual studio的菜单上,依次选择工具>>选项 - 选择“IntelliTrace”选项卡,然后只选择 IntelliTrace事件 ..保存,重新启动visual studio并.......

您的编辑和继续将再次有效!