調試時候蹦出一個對話框“沒有可用於當前位置的源代碼” 確定,或 顯示彙編,調試無法進入一個函數,之後這函數就完了,死活不被調用了。
產生原因不明~~
以下是微軟官方的解釋:
- 沒有可用於當前位置的源代碼
-
項目不包含您試圖查看代碼的源代碼。原因通常是雙擊了“調用堆棧”窗口或“線程”窗口中沒有源代碼的模塊。可以繼續調試,但不能使用源代碼窗口設置斷點並在此位置執行其他操作。如果需要設置斷點,請使用“反彙編”窗口。
另一可能原因是:試圖調試託管代碼的轉儲文件。Visual Studio 僅支持使用 SOS 工具,在“即時”窗口中對託管的小型轉儲進行調試。有關信息,請參見如何:使用 SOS 和 SOS 調試擴展 (SOS.dll)。
在解決方案屬性頁中,可以更改調試器查找源文件的目錄,並通知調試器忽略選定的源文件。請參見 “解決方案屬性頁”對話框 ->“通用屬性”->“調試源文件”。
- 自動顯示反彙編
-
禁用該對話框並在無源代碼可用時自動啓動“反彙編”窗口。
- 顯示反彙編
-
啓動“反彙編”窗口,但不禁用此對話框。
該屬性頁指定調試解決方案時調試器查找源文件的位置。
若要訪問“調試源文件”屬性頁,右鍵單擊“解決方案資源管理器”中的“解決方案”,並從快捷菜單中選擇“屬性”。展開“通用屬性”文件夾並單擊“調試源文件”頁。
- 包含源代碼的目錄
-
包含調試器在調試解決方案時搜索源文件的目錄列表。
- 不查找下面這些源文件
-
輸入不希望調試器讀取的任何文件的名稱。如果調試器在以上指定的某個目錄中找到這些文件之一,它將忽略該文件。如果在調試期間出現“查找源”對話框,這時您單擊“取消”,那麼,您搜索的文件將被添加到此列表中,以使調試器不再繼續搜索該文件。
照着上面的方法試了下 仍然不管用,查找了一些其他的解決方法:
1. 工具->選項->調試->常規->去掉“要求源文件與原始版本完全匹配”複選框就OK
2. (嚴重不推薦!)將這個函數重新換個名字!
3. (嚴重不推薦!)將這個函數註釋了,然後再在旁邊重新寫一個,代碼一樣。
好吧改個函數名確實好用了,然後我嘗試把項目的debug文件刪掉,然後把函數名改回來,居然好用了~~