2009-07-16 80 views
1

如果我在VS2008中創建一個新的win32 C++項目,我可以使用編輯&繼續它就好了,但對於這個遺留項目,我正在嘗試使用/啓用它失敗。爲什麼編輯和繼續在VS2008中使用傳統的C++ win32項目工作?

這件事情我已經檢查:

工具 - >選項 - >調試 - >編輯並繼續 - >啓用編輯並繼續爲ON。

調試信息格式:程序數據庫(/ ZI)

代碼生成 - >啓用函數級鏈接:是(/戈瑞)

看了腐敗.ILK文件。我找不到任何.ILK文件 - 它們在2008年仍在使用嗎?

但是,當我踏進程序,改變下一行,並再次實施步驟,我得到:

「這個源文件已經改變了它不再匹配......」

而非

「你想編輯&繼續應用你的代碼更改。」

這個項目有什麼問題E & C不起作用?

回答

0

我假設你有調試符號的/ etc和傳統的C++應用程序已編譯的這種支持...

如果沒有,那麼你會遇到的是代碼是不是「儀器」問題以允許注入替代代碼。

我會懷疑,在輸出代碼格式的變化會使得VC++ 2008不兼容......我懷疑微軟在加入這樣的向後兼容性(至2008年VS,我覺得他們甚至使得它很難使用舊版本的不使用所述特定VS .NET)

+1

很確定這就是「調試信息格式:程序數據庫」是。該項目已被2008ifi ed,fwiw,使用微軟的自動升級設施。 – 2009-07-18 21:17:49

0

該消息框

這個源文件已經改變。它不再與用於構建正在調試的應用程序的文件的版本相匹配。

似乎只有當我在斷點所在的確切線上進行了代碼更改時纔會出現。

我發現我可以點擊確定按鈕。然後,當我按下F10實際執行已更改的行時,「編輯並繼續」開始並重新編譯代碼。

之後,斷點被禁用,雖然(它顯示了一個帶有感嘆號的黃色三角形):

disabled breakpoint

要重新啓用它,只需右鍵單擊該斷點,然後選擇「位置...「:

right click breakpoint

能帶給你這個對話框:

breakpoint location dialog

,你需要勾選‘允許的源代碼是從原始版本’複選框不同的點擊。 確定並且你的斷點將被再次啓用

相關問題