用戶端物件

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

主要用戶端

主要用戶端是已加入目前偵錯會話的用戶端。 一開始,建立新的用戶端物件時,它不是主要用戶端。 當用戶端用來取得目標 (時,用戶端會藉由呼叫 CreateProcess2) 或使用 ConnectSession連線到偵錯會話,成為主要用戶端。 偵錯工具命令 .clients 只會列出主要用戶端。

回呼物件

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

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

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

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

遠端偵錯

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

其他資訊

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