Condividi tramite


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. Quando si esegue il debug remoto, è possibile coinvolgere più istanze del motore del debugger nel debug di una destinazione. Tuttavia, esattamente una di queste istanze è responsabile della sessione di debug; questa istanza viene chiamata motore host .

Esistono molte configurazioni possibili: l'oggetto client può essere creato nel motore host (smart client) o in un'altra istanza 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 l'obiettivo ed è anche il motore che funge da 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 invia 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 il debug remoto perché è presente 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".