业精于勤,荒于嬉
全部博文(763)
分类: C/C++
2010-04-15 13:01:40
VS2005断点失效的问题
Posted on 2009-01-04 11:04 Fox 阅读(5122) 评论(23) 编辑 收藏 引用 所属分类: T技术碎语
VS2005下使用VC,部分断点无效,显示『当前不会命中断点。还没有为该文档加载任何符号』。
试过以下一些方法:
1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;
2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;
3、C/C++->优化->优化选择『禁用』;
4、删除解决方案下的.ncb文件;
5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;
6、最后在上述设置的情况下,重新编译整个解决方案;
7、回过头来,发现原来是一段不会被执行到的代码……
看来,除了VS本身会有bug,自己的代码还是要多检查一下。
在Debug模式下,我也出现过楼主说的现象,不过个人觉得有以下问题。
1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;
回:默认的Debug模式,这个就是非禁用状态。
2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;
回:Debug模式的默认值。(手抽和VS版本混乱者排除)
3、C/C++->优化->优化选择『禁用』;
回:Debug模式的默认值。(手抽和VS版本混乱者排除)
4、删除解决方案下的.ncb文件;
回:这个方法比较管用。
5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;
回:这个不建议使用,不然编译出来的版本可能不是你最新的代码编译出来的。
而且你也很难找问题,强烈BS这个方法。
6、最后在上述设置的情况下,重新编译整个解决方案;
回:这个方法比较管用。
7、回过头来,发现原来是一段不会被执行到的代码……
回:这个方法最管用^_^。
纯属个人意见,呵呵。