支援的程式碼變更
這個主題適用於:
版本 |
Visual Basic |
C# |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|---|
Express |
||||||
Pro、Premium 和 Ultimate |
[編輯後繼續] 會處理大多數的程式碼變更。 但在程式執行期間,無法套用某些變更。 若要套用這些變更,您必須停止執行,並建置新版的程式碼。
偵錯工作階段期間不能套用下列 C/C++ 變更:
大部分全域或靜態資料的變更。
不是建置於本機而是從另一台電腦複製而來的可執行檔之變更。
會影響物件 (例如類別的資料成員) 配置的資料型別變更。
加入超過 64K 位元組的新程式碼或資料。
在指令指標之前的某一點加入需要建構函式的變數。
會影響需要執行階段初始化的程式碼變更。
在某些執行個體中加入例外處理常式。
資源檔的變更。
唯讀檔中的程式碼變更。
不含對應 PDB 檔之程式碼的變更。
不含目的檔 (Object File) 的程式碼變更。
如果您進行其中一項變更,並嘗試套用程式碼變更,[輸出] 視窗中會出現一則錯誤或警告訊息。
- 編輯後繼續不會更新靜態程式庫。 如果您變更靜態程式庫,執行仍會使用舊版本繼續進行,不會發出任何警告。
不支援的案例
編輯後繼續無法用於下列偵錯案例中:
在 Windows 98 上偵錯。
混合模式 (原生/Managed) 偵錯。
SQL 偵錯
偵錯 Dr. Watson 傾印。
在未選取 [發生未處理的例外狀況時回溯呼叫堆疊] 選項的情況下,於發生未處理的例外狀況後編輯程式碼。
使用 [附加至] 來偵錯應用程式,而不是按一下 [偵錯] 功能表上的 [啟動] 來執行應用程式。
偵錯最佳化程式碼
當目標為 64 位元應用程式時,偵錯 Managed 程式碼。 如果要使用 [編輯後繼續],就必須將目標設定為 x86 (依序選取 [進階編譯器設定]、[編譯] 索引標籤、[<專案> 屬性])。
由於建置錯誤以致新版本建置失敗之後,偵錯舊版的程式碼。