http://blog.chinaunix.net/uid-15464162-id-3799069.html

 

 

【 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.如果断点仍然无效,那么请格式化代码.很可能是代码含有不可见字符或代码单行过长等原因造成.

posted on 2015-12-28 15:33  懒懒的呐喊  阅读(281)  评论(0编辑  收藏  举报