遠程目標
有兩種不同的遠端偵錯形式,視哪一部計算機(遠端用戶端或伺服器)是主計算機而定。 主計算機 是 調試程式引擎 作用中的計算機。 在其他電腦上,調試程式引擎只是做為 Proxy 轉譯命令和數據給主機引擎。
主機引擎會執行所有調試程序作業,例如執行命令和 延伸模組和符號載入。 偵錯會話也與主機引擎相關。
若要列出目前在電腦上執行的偵錯伺服器和處理伺服器,請使用 OutputServers。
除錯伺服器和除錯客戶端
偵錯伺服器 是偵錯引擎的實例,作為主機並接收來自偵錯客戶端的連線。 StartServer 方法會告訴調試程式引擎開始接聽來自偵錯客戶端的連線。
偵錯用戶端 是調試程式引擎的實例,可作為 Proxy,將調試程式命令和 I/O 傳送至偵錯伺服器。 函式 DebugConnect 可用來連線到偵錯伺服器。
DebugConnect 所傳回的客戶端物件 不會自動加入偵錯伺服器上的調試程式會話。 ConnectSession 方法可用來聯結會話、同步處理輸入和輸出。
偵錯伺服器與偵錯客戶端之間的通訊主要包含調試程式命令和傳送至伺服器的 RPC 呼叫,以及傳回給用戶端的命令輸出。
進程伺服器、核心連線伺服器和智慧型用戶端
行程伺服器 和 核心連接伺服器 都是調試程式引擎的實例,作為代理伺服器,接聽來自智慧型客戶端的連線,並執行這些遠端用戶端所要求的記憶體、處理器或操作系統作業。 程序伺服器 有助於偵錯在同一部電腦上執行的程序。 核心連接伺服器 有助於針對連接至執行連接伺服器之電腦的 Windows 核心偵錯目標進行偵錯。 處理程序伺服器可以使用 API 方法 StartProcessServer 或程式 DbgSrv啟動。 waitForProcessServerEnd 方法 會等候以 StartProcessServer 啟動的進程伺服器結束。 您可以使用程式 KdSrv來啟動核心連接伺服器。
智能用戶端 是調試引擎的實例,可以作為宿主引擎並連接到進程服務器。 connectProcessServer 方法
當遠端用戶端完成進程伺服器時,可以使用 DisconnectProcessServer中斷連線,也可以使用 EndProcessServer 要求進程伺服器關機。 若要從執行的電腦關閉進程伺服器,請使用任務管理員結束進程。 如果使用 StartProcessServer 的調試程式引擎實例仍在執行中,它可以使用 Execute 發出調試程式命令 .endrv 0,這會結束進程伺服器(這是 .endrv的一般行為例外,這通常不會影響進程伺服器)。
進程伺服器與智慧型手機客戶端之間的通訊通常包含低階記憶體、處理器和作業系統作業,以及從遠端用戶端傳送至伺服器的要求。 其結果接著會傳回給用戶端。