リモート デバッグ (デバッガー エンジン)
リモート デバッグは、たとえばネットワーク接続を介して、クライアントとターゲットとの通信が間接的な場合に発生します。 リモート デバッグの場合、デバッガー エンジンの複数のインスタンスがターゲットのデバッグに関与する可能性があります。 ただし、これらのインスタンスの 1 つだけがデバッグ セッションを担当します。この インスタンス は、ホスト エンジンと呼ばれます。
多くの構成が考えられます。クライアント オブジェクトは、ホスト エンジン (スマート クライアント)、またはエンジンの別のインスタンス (デバッグ クライアント) で作成できます。ホスト エンジンをターゲット (デバッグ サーバー) に直接接続できます。または、プロキシをターゲット (プロセス サーバーとカーネル接続サーバー) に直接接続できます。
複数のクライアントがホスト エンジンに同時に接続できます。 また、ホスト エンジンは、同じデバッグ セッション内の複数のターゲットに接続できます。 必要に応じて、クライアントとホスト エンジンの間、およびホスト エンジンと各ターゲットの間に 1 つ以上のプロキシを使用できます。
スマート クライアントは、ホスト エンジンと直接通信するクライアント オブジェクトです。 デバッグ クライアントは、DebugConnectを呼び出すことによって作成されます。クライアントは、エンジンの API のメソッド呼び出しを表す RPC 呼び出しを使用してホスト エンジンと通信します (ホスト エンジンがクライアントの コールバック オブジェクトに対して行う呼び出しを含)。
デバッグ サーバーは、ターゲットと直接通信するエンジン インスタンスであり、ホスト エンジンでもあります。 プロセス サーバーとカーネル接続サーバーはターゲットと直接通信しますが、ホスト エンジンではありません。 ホスト エンジンは、低レベルのメモリ、プロセッサ、オペレーティング システムの要求を送信することによってプロセス サーバーまたはカーネル接続サーバーと通信し、サーバーは結果を返します。
注 カーネル デバッグ用の一般的な 2 コンピューターセットアップです。1 台のコンピューターがターゲットで、もう 1 台のコンピューターがホスト コンピューターである場合、エンジンのインスタンスが 1 つだけ (ホスト コンピューター上) にあり、ターゲットと直接通信するため、リモート デバッグとは見なされません。
追加情報
リモート デバッグの実行の詳細については、「リモート ターゲットの