The breakpoint will not currently be hit. No symbols have been loaded for this document

摘要:The breakpoint will not currently be hit. No symbols have been loaded for this document


  最近在用Visual studio 2002 C#在开发WinForm程序时,遇到一个消息有点让人不解. 在Debug时,中断点并没有发挥作用.程序不会在中断点停住,而在中断点的那个红点中,可以看到一个?号,鼠标移过去后,就看到这段消息 : The breakpoint will not currently be hit. No symbols have been loaded for this document

无法设中断点去Debug,真的很难去Trace一些值,所以就开始一一的去确认,到底是为什么中断点没作用.

  首先,确认现在是Debug Mode,还是Release Mode. (曾忘了改,结果在Release Mode执行,想着为什么不能调试),结果确认完是在Debug Mode没错.

再来检查pdb档是否有更新,exe或dll,其时间必需与pdb相同才对. 这时发现,怎么pdb没有更新.

  因为我的solution内有两个项目,一个winform,另一个是class,而winform有把class加入参考,中断点失效及pdb没更新的,就是那个class,而winform的pda却有正常更新.

想说会不会是加入参考有问题还是什么的,就移掉,重新加入参考,结果还是没用.

这时就一头雾水了,为什么就只有它的pdb没有更新.

这时突然想到,这个Solution有加入到SourceSafe,会不会也有影响,就去检查了一下SourceSafe的设定.

结果,bin被加入到SourceSafe去,连class的pdb也加进去了,难怪我在Debug时,class的pdb都没有更新.

把bin整个从SourceSafe移除后,重新执行Debug,中断点就生效了.

这结果有点让自己哭笑不得,有点自己在耍白痴.

但也好奇,有多少人有这个问题,用google查了一下,还真是不少人有这个问题.

而且不是只有VS2002,连2003/2005都会发生.

原来我并不孤单~~~~