客戶端物件

幾乎所有與調試程式引擎互動都是透過客戶端物件,通常只稱為用戶端。 每個客戶端都會提供最上層引擎介面的實作。 每個介面都提供一組不同的方法,可用來與引擎互動,並透過引擎來與目標互動。 引擎的實例可以有許多用戶端,每個用戶端都有自己的狀態。

主要用戶端

主要用戶端是已加入目前偵錯會話的用戶端。 一開始,建立新的客戶端物件時,它不是主要用戶端。 當用戶端用來取得目標時,用戶端會變成主要用戶端(例如呼叫 CreateProcess2),或使用 連線 Session 連接到偵錯會話 調試程式命令 .clients 只會列出主要用戶端。

Callback 物件

回呼物件可以向每個客戶端註冊。 回呼物件有三種類型:

  1. 輸入回呼物件 (或 輸入回呼):引擎會呼叫輸入回呼來要求輸入。 例如,具有主控台視窗的調試程式可以註冊輸入回呼,以提供來自使用者的輸入引擎,或者調試程式可能會註冊輸入回呼,以提供來自檔案的輸入引擎。

  2. 輸出回呼物件 (或 輸出回呼):引擎會呼叫輸出回呼以顯示輸出。 例如,具有主控台視窗的調試程式可以註冊輸出回呼,以向使用者呈現調試程式的輸出,或者調試程式可能會註冊輸出回呼,以將輸出傳送至記錄檔。

  3. 事件回呼物件 (或 事件回呼):每當目標中發生事件時,引擎就會呼叫事件回呼(或引擎狀態有所變更)。 例如,調試程式擴充連結庫可以註冊事件回呼來監視特定事件,或在特定事件發生時執行自動化動作。

遠端偵錯

用戶端物件有助於與主機引擎的遠端實例通訊。 Debug 連線 函式會建立連線到遠端引擎實例的用戶端物件;遠端引擎上呼叫的方法是由遠端引擎執行,而遠端引擎會在遠端引擎呼叫回呼時呼叫用戶端本機註冊的回呼物件。

其他資訊

如需建立和使用用戶端對象的詳細資訊,請參閱 使用回呼物件。 如需註冊回呼對象的詳細資訊,請參閱使用回調物件。