2013-06-24 148 views
2

在此之前,我會首先說我一直在尋找解決這個問題的地方,現在一個小時。有許多相同的問題,但沒有解決方案幫助我。Visual Studio C++不會在構建完成後更新新代碼

我想調試一個小項目。當我開始研究這個項目時,我可以在任何我想要的地方放置中斷點,並且我會擊中它們。但由於某種原因,現在當我在主程序之外放置斷點時(例如,在類定義中),斷點在代碼運行時鏤空,並且我收到消息說源代碼與原始版本不同。

這使我相信它正在運行一個以前的版本,所以我通過讓代碼輸出一些隨機字母「dajfhdjhfds」做了一個明顯的改變;

我像往常一樣打F7。有一條消息說Build: 1 succeeded。點擊F5,程序運行但不顯示隨機字母。

我清理我的解決方案,然後構建和更改顯示。我'重建'該解決方案,並顯示更改。斷點也起作用。

但是,如果我做了進一步的更改,斷點停止工作,並且更改不會出現在程序中。 Visual Studio始終運行舊代碼。每次我想要調試新代碼時,我都不想清理我的解決方案。

我重置了我的設置,我在配置管理器中檢查了「構建」,我甚至開始了一個全新的項目,並將我的代碼複製到新文件中。同樣的問題。

+0

您是否嘗試重新啓動計算機?調試服務有可能以某種方式被解決,並依賴於關於項目的緩存信息。 –

+1

我經常遇到像這樣的小錯誤。除非我重建項目,否則我只有50%的把握。 – kovarex

+0

偶爾我看到這個問題。我只是重新啓動VS並重建項目。 – shivakumar

回答

1

問題在於我將原始項目的代碼複製到其他地方保存的全新項目中。當我試圖在新位置構建項目時,它總是將它構建在舊位置(奇怪,因爲我將代碼直接複製到全新文件中)。

當我試圖運行這些文件時,它會查找新位置中的內置代碼。因此它總是會過時的代碼。

問題可以通過將新代碼放回舊位置來解決!

謝謝大家

0

我已經開始運行到一個相同的問題,我想這一切開始時我以新的名稱重新創建的項目。 也就是說,我不得不復制一切。 問題是我不知道什麼DID沒有被完全複製,現在負責要求重建來更改我的代碼。在文本編輯器中檢查解決方案和項目文件,沒有舊文件夾結構的跡象。

1

我有這個問題也發生,使用WinForms。我在添加消息框來測試代碼,並沒有發生任何事情,只有預先存在的消息框起作用。我不清楚我是如何修復它的,但是在點擊「Build」菜單下的「Build Solution」,「Rebuild Solution」,「Clean Solution」和「Build(program name)」之後,問題就消失了。不像以前的問題,我沒有複製+解決方案之間粘貼任何代碼。

+0

我在Visual Studio 2013 Pro中遇到了與C#控制檯應用程序相同的問題。我修改了我的代碼,點擊了Run按鈕,但是每次都運行一箇舊的可執行文件,即使我從Debug文件夾中刪除了它。我點擊了「重建解決方案」,編譯失敗,出現了一直存在的語法錯誤。 –

相關問題