VS中无法加入断点进行调试解决方案

原文地址:http://blog.csdn.net/gukesdo/article/details/6535054

【 1】

以前也遇到过同样的问题,但没有问个为什么,也没有探个毕竟。昨天调试一个DLL,添加输出信息吧,太麻烦而且不轻易定位,  但设置断点后按“F5”,断点不可用,气泡提示“当前不会命中断点,还没有为该文档加载任何符号。  ”再右键->“位置”->“答应源代码与原始版本不同”,还是不行。77777我还不信了,整它!  后来才发现,“Alt+F7”->“配置属性”->“调试”->“命令”中输入的 exe 路径下,已经提供了此 DLL,  压根就没有调用咱 F5 启动的DLL。。。。。。把 exe (以及相关的其它文件,假如有)拷贝到 DLL 目录下,就可以调试了。

 犯了个低级错误。但也总结了一下不能调试的各种可能原因:  1.解决方案配置是 Debug ,但没有在工程属性页中“Alt+F7”->“配置属性”->“C/C++”->“常规”->“调试信息格式”,  选择“用于“编辑并继承”的程序数据库(/ZI)”。另外,在“配置属性”->“链接器”->“调试”->“生成调试信息”中,选择“是”。

【 2 】  vs2005奇怪的断点无效问题  最近一工程中,在调试的时候,有些cpp文件都可以设置断点并且跟进去,但是有一个cpp文件总是不能设置断点,  提示“当前不会命中断点。源代码与原始版本不同。” 重新更换过n次文件都不起作用,然后在goole搜索此类类似问题,  找到下篇文章,    然后我把那个cpp文件用记事本打开,另存为unicode格式,再重新编译,最后问题解决!    也可以更改vs2005的设置,选项->常规,将要求源文件与原始版本完全匹配的勾取消就可以了!  清理整个解决方案,重新编译,无效。删除整个目录,从SubVersion服务器上Down下来重新来过,一样无效。上网搜索,未果。  

【3】    经常被vs2005的一些选项设置搞惨,这玩意儿太莫名其妙了.    就像上次的那个warning一样,解决办法居然是使用/n替换/n.    VS2005断点失效(断点不可用)解决方案在网上搜罗了一下,如下:    1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;    2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;    3、C/C++->优化->优化选择『禁用』;    4、删除解决方案下的.ncb文件;    5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;    6、最后在上述设置的情况下,重新编译整个解决方案;    不过我的情况是debug模式下,1,2,3,4,6都试过了断点还是不可用,最后试试5居然就行了.真恶心!      7.如果断点仍然无效,那么请格式化代码.很可能是代码含有不可见字符或代码单行过长等原因造成.

原文地址:https://www.cnblogs.com/CocoWang/p/3842312.html