VS2005 调试不能设置断点的解决办法(转载)

以前也碰到过同样的问题,但没有问个为什么,也没有探个究竟。昨天调试一个DLL,添加输出信息吧,太麻烦而且不容易定位,但设置断点后按“F5”,断点不可用,气泡提示“当前不会命中断点,还没有为该文档加载任何符号。”再右键->“位置”->“允许源代码与原始版本不同”,还是不行。

        后来才发现,“Alt+F7”->“配置属性”->“调试”->“命令”中输入的 exe 路径下,已经提供了此 DLL,压根就没有调用咱 F5 启动的DLL。。。。。。把 exe (以及相关的其它文件,如果有)拷贝到 DLL 目录下,就可以调试了。

        犯了个低级错误。但也总结了一下不能调试的各种可能原因:

        1.解决方案配置是 Debug ,但没有在工程属性页中“Alt+F7”->“配置属性”->“C/C++”->“常规”->“调试信息格式”,选择“用于“编辑并继续”的程序数据库(/ZI)”。另外,在“配置属性”->“链接器”->“调试”->“生成调试信息”中,选择“是”。

        2.解决方案配置是 release ,直接F5调试就可以,VS会提示你“没有找到调试信息,要继续调试吗?”,选择“是”即可。

  3.检查工程所在路径是不是有中文,有VS不支持中文路径的可能(参照http://blog.csdn.net/red_hope/archive/2007/10/20/1833916.aspx的经验)。

  4.删掉.ncb和.opt,rebuild all。

  5.看是否有:“warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”警告,把那个cpp文件用记事本打开,另存为unicode格式,再重新编译。(参照http://www.cppblog.com/qiujian5628/archive/2008/04/11/41806.html vs2005奇怪的断点无效问题

  呵呵,暂时就这些了,欢迎朋友们补充:)


posted @ 2011-03-15 23:07  haii714  阅读(814)  评论(0编辑  收藏  举报