共用方式為


編輯後繼續 (Visual C++)

本文章描述在 Visual C++ 專案中使用 [編輯後繼續] 的程序。 如需 [編輯後繼續] 限制的資訊,請參閱支援的程式碼變更及限制 (C++)

警告

在 Visual Studio Update 3 引入的 /Zo (增強最佳化偵錯) 編譯器選項會將額外資訊加入不使用 /Od (停用 (偵錯)) 選項編譯之二進位碼檔案的 .pdb (符號) 檔案。

/Zo 可停用 [編輯後繼續]。請參閱如何:偵錯最佳化程式碼

本文內容

啟用或停用 [編輯後繼續] 的自動引動過程

如何明確套用程式碼變更

如何停止程式碼變更

如何重設執行點

如何使用過時程式碼

啟用或停用 [編輯後繼續] 的自動引動過程

您可以停用 [編輯後繼續] 的自動引動過程 (藉由 [繼續]、[移至] 和 [逐步執行] 命令引動)。 如果您不希望在目前的偵錯工作階段中套用正在編輯的程式碼內容,則建議您這麼做。 您也可以重新啟用 [編輯後繼續] 的自動引動過程。

  1. 在 [偵錯] 功能表上選擇 [選項和設定]。

  2. 在 [選項] 對話方塊中,選取 [編輯後繼續] 類別。

  3. 在 [編輯後繼續] 群組中,選取或清除 [由偵錯命令叫用] 核取方塊。

    注意事項注意事項

    您也可以讓偵錯工具在偵錯指令套用變更之前先詢問您。如果要先詢問您,請選取 [先詢問我] 核取方塊。

由於 [由偵錯命令叫用] 是工具選項,因此修改這個設定會影響您處理的所有專案。 變更這個設定之後不需要重建應用程式。 即使在進行偵錯時,也可以變更設定。 如果您從命令列或 Makefile 建置應用程式,但是在 Visual C++ 環境中進行偵錯,只要您設定了 /ZI 選項,就仍然可以使用 [編輯後繼續]。

回到頁首 本文內容

如何明確套用程式碼變更

在 Visual C++ 中,[編輯後繼續] 會以兩種方式套用程式碼變更。 當您選擇執行命令時,會隱含地套用程式碼變更,而您使用 [套用程式碼變更] 命令時,則會明確套用程式碼變更。

當您明確套用程式碼變更,而程式仍處於中斷模式時,則不會執行。

  • 若要明確套用程式碼變更,請在 [偵錯] 功能表上,選擇 [套用程式碼變更]。

回到頁首 本文內容

如何停止程式碼變更

當 [編輯後繼續] 正在套用程式碼變更時,您可以停止該作業。

若要停止套用程式碼變更:

  • 在 [偵錯] 功能表上,選擇 [停止套用程式碼變更]。

只有套用程式碼變更時,才能看見這個功能表項目。

如果您選擇此選項,就無法認可任何的程式碼變更。

回到頁首 本文內容

如何重設執行點

某些程式碼變更會在 [編輯後繼續] 套用該變更時,造成執行點移至新位置。 [編輯後繼續] 會盡量精確地放置執行點,但有時結果未必完全正確。

在 Visual C++ 中,當執行點變更時,會出現一個對話方塊通知您。 您應該先確認位置是否正確,再繼續偵錯。 如果位置不正確,請使用 [設定下一個陳述式] 命令。 如需詳細資訊,請參閱設定下一個要執行的陳述式

回到頁首 本文內容

如何使用過時程式碼

在某些情況下,[編輯後繼續] 不能立即將程式碼變更套用至執行檔,但是如果您繼續偵錯或許能在稍後套用程式碼變更。 如果您編輯呼叫目前函式的函式,或將 64 位元組以上的新變數加入至呼叫堆疊上的某個函式時,就會發生這種情況。

在上述情形中,偵錯工具會繼續執行原始的程式碼 (稱為過時程式碼) 直到套用變更為止。 過時程式碼會在不同的來源視窗中顯示為暫時原始程式檔視窗,並使用像是 enc25.tmp 的標題。 已編輯的來源會繼續出現在原始來源視窗中。 如果您嘗試編輯過時程式碼,就會出現警告訊息。

回到頁首 本文內容

請參閱

參考

支援的程式碼變更及限制 (C++)