最近在用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都會發生.
原來我並不孤單~~~~
留言列表