VS2008 MFC程序打的断点在调试的时候无效,显示空心带个小锁的形状,请教各位有知道原因的吗?

之前是可以单步调试的,修改了一些之后不清楚为什么不能单步调试了,代码还是可以运行的,之前保存的旧代码是可以调试的,这个工程最开始是VC6.0打开的,后来一直用VS2008修改,也可以调试,就最近不能调试了。

1. 首先检查是否生成了调试信息,检查"属性"->"连接器"->"生产调试信息"是否设置正确。

2. 再检查调试的文件与源文件是否相符,这可能是因为源文件被修改了没有重新编译。如果不想重新编译则可以去掉选项:"工具"->选项"->"调试"->"要求源文件与原始版本完全匹配"。

3. 检查文件中是否有#line,如果#line混乱,则断点也不会起作用。

4. 网上有人建议删掉ncb文件,这也是一种解决方法,但没有使用过,不知道能否起作用。
我用过第二种方法
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-20
修改的代码中,有特殊空格等东西在里面 ,你用编辑->高级->设置选定内容的格式,去处理一下,重新编译下看看!如果不行,你仔细看看你不能调试的地方旁边的代码,仔细调整一个代码格式(全部用shift_tab到最左边,然后进行调整),尽量格式简介,空格,tab对齐。这个问题我以前也困扰过。花了不少时间。
第2个回答  2013-01-29
1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』; 2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』; 3、C/C++->优化->优化选择『禁用』; 4、删除解决方案下的.ncb文件; 5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;(可行) 6、最后在上述设置的情况下,重新编译整个解决方
相似回答