Share via


編輯後繼續 (Visual C#)

利用 C# 的[熱重新載入] (或稱 [編輯後繼續]),偵錯時您可以在中斷模式或執行模式中變更程式碼。 不需要停止並重新啟動偵錯工作階段,就可以套用這些變更。

基本 [熱重新載入] 體驗適用於大部分類型的 .NET 應用程式和 Framework 版本。 這包括 .NET Framework、.NET Core 和 .NET 5+ (如適用,包括 C# 和 Visual Basic)。 此案例中的期望是,如果您要使用偵錯工具,則假設熱重新載入可供您使用,並且嘗試使用!

[熱重新載入] 支援大部分您可能想要在偵錯工作階段期間進行的變更,但是有一些例外狀況。 例如,在啟用 Managed 和原生偵錯工具的情況下,最佳化程式碼或偵錯工作階段不支援熱重新載入。

如需其他不受支援情境的資訊,請參閱受支援的程式碼變更 (C# 和 Visual Basic)。 如果您嘗試在其中一種情況下套用程式碼變更,則會出現訊息方塊,指出不支援熱重新載入。

使用熱重新載入

當您在中斷模式下變更程式碼時,C# 的熱重新載入會自動進行,然後使用 ContinueStepSet Next 陳述式繼續偵錯。 如果將儲存檔案時執行熱重新載入設為 true,則在儲存檔案時也會自動發生。

若要啟用或停用 [熱重新載入]:

  1. 如果您是在偵錯工作階段中,請停止偵錯 ([偵錯]>[停止偵錯]Shift+F5)。

  2. 開啟工具>選項>偵錯>.NET/C++ 熱重新載入,選取或清除在偵錯時啟用熱重新載入及編輯後繼續核取方塊。

該設定會在您啟動或重新啟動偵錯工作階段時生效。

若要使用傳統 [編輯後繼續] 體驗:

  1. 在中斷模式下偵錯時,對您的原始程式碼進行變更。

  2. 偵錯選單中,按一下 ContinueStepSet Next 陳述式。 繼續對新的編譯程式碼進行偵錯。

[編輯後繼續] 不支援某些類型的程式碼變更。 如需詳細資訊,請參閱受支援的程式碼變更 (C# 和 Visual Basic)

利用 C# 的 [編輯後繼續],偵錯時您可以在中斷模式或執行模式中變更程式碼。 不需要停止並重新啟動偵錯工作階段,就可以套用這些變更。 在執行模式中,原始檔編輯器是唯讀的。

Windows 10 或更新版本中的 UWP,以及以 .NET Framework 4.6 桌面或更新版本為目標的 x86 和 x64 應用程式 (僅 .NET Framework 是桌面版本) 中均支援 [編輯後繼續]。

[編輯後繼續] 支援大部分您可能想要在偵錯工作階段期間進行的變更,但是有一些例外狀況。 最佳化的、混合的或 SQL Server Common Language Runtime (CLR) 整合程式碼不支援 [編輯後繼續]。 如需其他不受支援情境的資訊,請參閱受支援的程式碼變更 (C# 和 Visual Basic)。 如果您嘗試在這些其中一種情境下使用 [編輯後繼續],則會出現一個訊息方塊,指出不支援 [編輯後繼續]。

如需其他不受支援情境的資訊,請參閱受支援的程式碼變更 (C# 和 Visual Basic)。 如果您嘗試在其中一種情況下套用程式碼變更,則會出現訊息方塊,指出不支援熱重新載入。

使用編輯後繼續

當您在中斷模式下變更程式碼,然後使用 [繼續][逐步執行][設定下一個陳述式] 繼續偵錯,或者在偵錯工具視窗中評估函式時,C# 的 [編輯後繼續] 會自動進行。

若要啟用或停用 [編輯後繼續]:

  1. 如果您是在偵錯工作階段中,請停止偵錯 ([偵錯]>[停止偵錯]Shift+F5)。

  2. [工具]>[選項] (或 [偵錯]>[選項]) >[偵錯]>[一般] 中,選取或清除 [啟用編輯後繼續] 核取方塊。

該設定會在您啟動或重新啟動偵錯工作階段時生效。

若要使用 [編輯後繼續]:

  1. 在中斷模式下偵錯時,對您的原始程式碼進行變更。

  2. [偵錯] 功能表中,按一下 [繼續][逐步執行][設定下一個陳述式],或者在偵錯工具視窗中評估函式。

    繼續對新的編譯程式碼進行偵錯。

[編輯後繼續] 不支援某些類型的程式碼變更。 如需詳細資訊,請參閱受支援的程式碼變更 (C# 和 Visual Basic)