我正在使用最初在VS 2006中构建的签出的Visual Studio C ++项目。我想在断点中查看某些函数的调用位置并更好地遵循工作流程。
我在发布模式下在Visual Studio 2010中重建了代码,它构建并运行良好。不幸的是,从一些研究中,我了解到在发布模式下无法点击某些断点,我需要在调试模式下构建代码以达到断点。
但是,当我尝试在调试模式下构建代码时,链接器会抱怨具有错误_ITERATOR_DEBUG_LEVEL的.lib文件。有没有办法可以在.libs中更改此_ITERATOR_DEBUG_LEVEL,以便我可以在调试模式下构建它?如果没有,有没有办法在Release模式或ReleaseWithDebug模式下点击这些断点?
答案 0 :(得分:0)
我刚刚从Hansleman看到这篇文章:
http://www.hanselman.com/blog/DebugVsReleaseTheBestOfBothWorlds.aspx
它基本上说你可以使用调试设置和ini文件的组合编译优化(发布)和调试而无需重新编译(Debug)。
答案 1 :(得分:0)
您可以通过按如下方式配置项目“属性页”来在发布模式下调试C ++:
- 在C / C ++节点下 - >一般节点。 将“调试信息格式”设置为“C7兼容(/ Z7)”或“程序” 数据库(/ Zi)“。
- 在链接器节点下 - >一般节点。将“启用增量链接”设置为“否(/ INCREMENTAL:NO)”。
- 在链接器节点下 - >调试节点。将“生成调试信息”设置为“是(/ DEBUG)”。
- 在链接器节点下 - >优化节点。将“References”设置为“/ OPT:REF”
- 在链接器节点下 - >优化节点。将“启用COMDAT折叠”设置为“/ OPT:ICF”。
醇>
您现在可以调试并逐步完成发布版本应用程序中的代码。
注意:设置属性时,请确保选择了正确的配置和平台(属性页顶部的组合框)