在 Visual Studio 2013 中使用 v60 平台工具集时,调试信息不​​匹配

Posted

技术标签:

【中文标题】在 Visual Studio 2013 中使用 v60 平台工具集时,调试信息不​​匹配【英文标题】:Debugging information does not match, when using v60 platform toolset inside Visual Studio 2013 【发布时间】:2016-01-01 21:17:26 【问题描述】:

我正在使用 Visual Studio 2013,但我需要使用 Visual C++ 6.0 编译器开发一个旧项目。

为此,我在 Windows 8.1 上使用Daffodil 有一段时间了。 (您可以在 *** 问题中了解更多如何在较新的 Visual Studio 版本中使用 VC++ 6 编译器:Is it possible to use the VC++ 6 compiler in Visual Studio 2012?)

现在我得到了一台新的 Windows 10 机器,我在其中重新安装了 Visual Studio 6、2010、2013 和 Daffodil。

使用 v60 构建工具(Visual C++ 6.0 编译器),项目编译良好。

但是,当我尝试调试时,VS说“调试信息不​​匹配”,我无法设置断点等,但是:

PDB 文件在那里,调试可执行文件的文件夹和名称相同; 在调试模式下构建的应用程序,启用了调试信息; 调试器在使用 Visual Studio 2010 或 2013 构建工具时工作正常; 如果在 Visual C++ 6 IDE 中打开项目,调试器可以正常工作。

我尝试重新安装所有 Visual Studio 版本以及 Daffodil,但没有解决。 任何线索可能是什么问题?

【问题讨论】:

【参考方案1】:

我终于找到了一个可行的解决方案!

对于 VS 2013: 启用“本机编辑并继续” 在工具->选项->调试->编辑并继续

对于 VS 2015: 启用“使用本机兼容模式” 在工具->选项->调试->常规

【讨论】:

+I - 我收到的错误消息是“二进制文件未使用调试信息构建”。这解决了它!

以上是关于在 Visual Studio 2013 中使用 v60 平台工具集时,调试信息不​​匹配的主要内容,如果未能解决你的问题,请参考以下文章

使用平台工具集 v120 (Visual Studio 2013) 在 Visual Studio 2015 中创建 C++/CLI 项目

Intel parallel studio 2017 集成在visual studio 2013 中,现在如何集成到visual studio 2015

在 Visual Studio 2013 中使用 Roslyn 编译器

在 Visual Studio 2013 中使用 angularjs 材料设计

如何在 Visual Studio 2013 中使用 NuGet 3.0?

Visual Studio中的环境变量(以Visual Studio 2013为例)