操作模式
IDE 可以運作的模式有三種,如下所示:
-
自訂偵錯引擎 (DE) 如何在這些模式之間轉換是一個實作決策,需要您熟悉轉換機制。 DE 不一定直接實作這些模式。 這些模式實際上是根據 DE 的使用者動作或事件切換的偵錯套件模式。 例如,從執行模式到中斷模式的轉換是由來自 DE 的停止事件引發的。 從中斷轉換到執行模式或逐步模式是由執行 Step 或 Execute 等作業的使用者所引發。 如需 DE 轉換的詳細資訊,請參閱執行控制。
設計模式
設計模式是 Visual Studio 偵錯的非執行狀態,可以這段期間設定應用程式中的偵錯功能。
設計模式期間只會使用一些偵錯功能。 開發人員可以選擇設定斷點或建立監看式運算式。 IDE 處於設計模式時,永遠不會載入或呼叫 DE。 與 DE 的互動只會在執行和中斷模式期間進行。
執行模式
當程式在 IDE 中的偵錯工作階段中執行時,就會發生執行模式。 應用程式會執行到終止、直到叫用斷點,或直到發生例外狀況為止。 當應用程式執行以終止時,DE 會轉換成設計模式。 當叫用斷點或發生例外狀況時,DE 會轉換成中斷模式。
中斷模式
中斷模式會在執行偵錯程式暫停時發生。 中斷模式為開發人員提供中斷時應用程式的快照集,並讓開發人員分析應用程式的狀態並變更應用程式執行方式。 開發人員可以檢視及編輯程式碼、檢查或修改資料、重新啟動應用程式、結束執行或從同一點繼續執行。
當 DE 傳送同步停止事件時,進入中斷模式。 同步停止事件也稱為停止事件,通知工作階段偵錯管理員 (SDM) 和 IDE 正在偵錯的應用程式已停止執行程式碼。 IDebugBreakpointEvent2 和 IDebugExceptionEvent2 介面是停止事件的範例。
透過呼叫以下其中一個方法來繼續停止事件,這些方法將偵錯工具從中斷模式轉換為執行或逐步模式:
逐步模式
當程式逐步執行下一行程式碼,或進入、覆寫或退出函式時,就會發生逐步模式。 藉由呼叫方法 Step 來執行一個步驟。 此方法需要將 STEPUNIT 和 STEPKIND 列舉指定為輸入參數的 DWORD
。
當程式成功逐步執行至下一行程式碼或進入函式,或執行到游標或設定中斷點時,DE 會自動轉換回中斷模式。