Share via


Debug remoto (motore di debugger)

Il debug remoto si verifica quando la comunicazione di un client con una destinazione è indiretta, ad esempio tramite una connessione di rete. Durante il debug remoto, più istanze del motore del debugger possono essere coinvolte nel debug di una destinazione. Tuttavia, esattamente una di queste istanze è responsabile della sessione di debug; questa istanza è denominata motore host.

Esistono molte configurazioni possibili: l'oggetto client può essere creato nel motore host (client intelligenti) o in un'istanza diversa del motore (client di debug); il motore host può essere connesso direttamente alla destinazione (server di debug); o un proxy può essere connesso direttamente alla destinazione (server di elaborazione e server di connessione kernel).

Più client possono connettersi contemporaneamente al motore host. E il motore host può connettersi a più destinazioni nella stessa sessione di debug. Facoltativamente, possono essere presenti uno o più proxy tra i client e il motore host e tra il motore host e ogni destinazione.

I client intelligenti sono oggetti client che comunicano direttamente con il motore host. Un client di debug viene creato chiamando DebugConnect; il client comunica con il motore host usando chiamate RPC che rappresentano le chiamate al metodo nell'API del motore , incluse le chiamate effettuate dal motore host agli oggetti di callback del client.

Un server di debug è un'istanza del motore che comunica direttamente con la destinazione ed è anche il motore host. I server di elaborazione e i server di connessione kernel comunicano direttamente con la destinazione, ma non sono il motore host. Il motore host comunica con il server di elaborazione o il server di connessione kernel inviando richieste di memoria, processore e sistema operativo di basso livello e il server restituisce i risultati.

Nota Una configurazione tipica di due computer per il debug del kernel, in cui un computer è la destinazione e l'altro il computer host, non è considerato come debug remoto perché esiste una sola istanza del motore (nel computer host) e comunica direttamente con la destinazione.

Informazioni aggiuntive

Per informazioni dettagliate sull'esecuzione del debug remoto, vedere Destinazioni remote.