Condividi tramite


Debug remoto con KD

Il debug remoto comporta due debugger in esecuzione in due posizioni diverse. Il debugger che esegue il debug viene chiamato server di debug. Il secondo debugger, denominato client di debug, controlla la sessione di debug da una posizione remota. Per stabilire una sessione remota, è necessario configurare prima il server di debug e quindi attivare il client di debug.

Il debug remoto può essere utile quando si vuole coinvolgere un altro utente nell'esaminare un problema, che si sta eseguendo il debug in un PC.

Il codice in esecuzione nel debug può essere eseguito nello stesso computer che esegue il server di debug oppure può essere in esecuzione in un computer separato. Se il server di debug esegue il debug in modalità utente, il processo in fase di debug può essere eseguito nello stesso computer del server di debug. Se il server di debug esegue il debug in modalità kernel, il codice sottoposto a debug viene in genere eseguito in un computer di destinazione separato.

Il diagramma seguente illustra una sessione remota in cui il server di debug, in esecuzione in un computer host, esegue il debug in modalità kernel del codice in esecuzione in un computer di destinazione separato.

Diagramma che illustra i computer remoti, host e di destinazione connessi per il debug in modalità kernel.

Esistono diversi protocolli di trasporto che è possibile usare per una connessione di debug remoto: TCP, NPIPE, SPIPE, SSL e porta COM. Si supponga di aver scelto di usare TCP come protocollo e si è scelto di usare KD come client di debug e il server di debug. È possibile usare la procedura seguente per stabilire una sessione di debug in modalità kernel remota:

  1. Nel computer host aprire KD e stabilire una sessione di debug in modalità kernel con un computer di destinazione. Vedere Esecuzione di Kernel-Mode debug tramite KD.

  2. Interrompere premendo CRTL-Break.

  3. Immettere il comando seguente.

    .server tcp:port=5005

    Nota Il numero di porta 5005 è arbitrario. Il numero di porta è la scelta.

  4. KD risponderà con output simile al seguente.

    Server started.  Client can connect with any of these command lines
    0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
    
  5. Nel computer remoto aprire una finestra del prompt dei comandi e immettere il comando seguente.

    kd -remote tcp:Port=5005,Server=YourHostComputer

    dove YourHostComputer è il nome del computer host, che esegue il server di debug.

Informazioni aggiuntive

Per informazioni complete sull'avvio di KD (e sulla definizione del debug remoto) nella riga di comando, vedere KD Command-Line Opzioni.