首页 > 代码库 > 当前不会命中断点 还没有为该文档加载任何符号 (转载)

当前不会命中断点 还没有为该文档加载任何符号 (转载)

VS2010,我改了下文红色部分就可以了,以下为转载内容:

相信很多人在网页编程时都遇到过这个问题,就是设置断点时给出提示,之后不能选中。我今天也碰到这个问题了,足足折磨了我一天。设置是debug没错,我也没有找到“C/C++->常规->调试信息格式”这个东东,估计是C++里的设置,我用的是C#。”将”要求源文件与原始版本完全匹配”的勾取消“我也试了还是不行,webconfig里的debug设置也是true。折腾了一天才发现,我要调试的文本所处的文件夹里还有一个webconfig,这里的debug是false。我上网找了一下,才知道原来最外边的webconfig是总的。文件夹内部也可以设webconfig,这个webconfig继承了总webconfig的信息的基础上还拥有子文件夹自己的属性。所以导致我的总webconfig虽然debug是true。但因为文件夹内的程序要参照内部webconfig。所以还是不能正常设置断点进行调试。真是粗心惹的祸。

 

 

万恶的调试不到断点。把vs的各种选项翻来复去的勾来勾去。想尽了办法,已用过的办法有:

        一、删除引用项目的debug

        二、配置管理器中把所有项目的“生成”打勾、“配置”全部选成“debug“,切忌release

        三、配置管理器中“活动解决方案配置”、新建一个方案

        四、将引用目录统一设到某个目录,防止没有引用到最新的(源码与dll版本不匹配)

        五、工具、选项、调试、常规中的“要求源文件和原始版本完全匹配”的勾去掉

        五种办法都用过了。还是没有用。

        最后偶然想到,出现这个问题的原因基本上有两个:

        一、要调试的dll不在调试进程的进程空间,调不到

        二、源代码使用的dll与调试的源代码的版本不对,自然调试不到

         第一条out了。肯定是第二条。终于想起来了。我引用了三四个项目文件,有的项目文件没有引用“工程”上的现有项目,而是直接引用了一个一直在用的dll。把那个引用删除,然后改成引用到现有项目。

 

http://johnsmithblog.blogbus.com/logs/15017286.html VS2005中设置的断点无效:“当前不会命中断点,还没有为该文档加载任何符号”。折腾了一阵,其实问题主要出在没有生成调试信息。解决方法如下:

(1)项目-〉属性-〉配置属性-〉C/C++-〉常规-〉调试信息格式,这里不能为“禁用”。

(2)项目-〉属性-〉配置属性-〉链接器-〉调试-〉生成调试信息,这里设为“是”。

(3)2005默认的MFC程序是使用动态MFC库(Use   MFC   in   a   Shared   DLL)来链接的   而动态MFC库使用的是Multi-threaded   DLL   (/MD)   由于XP对于PE文件格式监测更加严格.   就会导致部分使用多线程DLL的可执行文件在调用的时候出错   修改项目属性的编译开关   Project->Property->configuration   Properties->C/C++->Code   Generation->Runtime   Library   修改成Multi-threaded   (/MT)

希望这篇文章能帮到和我遇到同样问题的人:)