我用的VS2005,C# 做的纯WinForm的程序。解决方案中有几个项目,其中启动项目引用了其他几个项目,
按F5启动运行项目时,一切正常运行下去,并没有在我的断点之下停下来
  只是在我断点上有一个   "?"     提示说:   当前不会命中断点。   还没有为该文档加载任何符号。   
在网上查有很多方法,不过没有找到合适的,首先肯定如下几点:
1、目前所有项目用的Debug生成模式
2、解决方案中有两个项目不能命中断点,其他几个都可以
3、配置管理器中设置一新的Debug活动配置,也是一样
4、我用的是VS2005,工程属性,配置属性->生成,似乎没看到“生成调试信息”之类的设置选项,只是有定义DEBUG、TRACE常量之类的设置
5、清理了编译目录和文件(删除所有项目BIN,OBJ等目录),重新编译运行还是不行郁闷了好几天,哪位大侠能指点迷津,在线急等,叩首谢谢!!!

解决方案 »

  1.   

    如果有多个项目的话,要看看你的可运程程序的工程引用其它工程是以引用程序集的方式还是引用工程的方式,最好都改为引用工程的方式。
    基本上出现这种错误就是因为你实际执行时加载的程序集,对应的pdb(调用用的文件)没有加载进来,所以断点不会停下来。
      

  2.   

    谢谢,唉,我就是都用的引用工程的方式清除编译文件(包含PDB的BIN等目录)重新编译还是不行,不知道为什么
      

  3.   

    可以分别试一试一下的几个方法
    1.重新生成解决方案。
    2.在VS中关闭所有打开的code文件,然后再从资源管理器中打开,再设置断点试试。
    3.把所有dll文件对应的pdb文件拷贝到编译目录(bin)下再试试看。
    4.确保你的代码没有问题,所有设置断点出的代码可以正常的执行到。
      

  4.   

    把编译选项设置为"Release"就会这样,因为不产出调试信息.   
      设置为"Debug"(在工具栏上有).
      

  5.   

    顶一楼。可能直接引用了一个现成的编译后的DLL
      

  6.   

    接分——BTW:删除所有引用重新再引一次!
      

  7.   

    我在用F11调试Shell扩展程序时也遇到同样的问题,关注中!
      

  8.   

     有一种可能就是出现在调试dll的时候,比如说我就正在调试vs addin程序,你调试的dll,并不是当前工程下的dll,那vs当然找不到正在运行dll的调试信息。
    所以一定要确保正在调试的dll就是当前工程下的dll;
    Ewin20111208 at foshan powertech