Condividi tramite


Debug remoto tramite KD

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

La diagnosi remota può essere utile quando si desidera coinvolgere qualcun altro nell'esaminare un problema che si sta risolvendo su un PC.

Il codice di cui è in corso il debug potrebbe essere in esecuzione nello stesso computer che esegue il server di debug oppure potrebbe essere in esecuzione in un computer separato. Se il server di debug esegue il debug in modalità utente, il processo sottoposto a 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 ed è stato scelto di usare KD sia come client di debug che come 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. Eseguire l'interruzione 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.