Esempi di client e server
Si supponga che una persona esegua un'applicazione in un computer denominato \\BOX17. Questa applicazione presenta problemi, ma il tecnico di debug si trova in un sito diverso.
La prima persona configura un server di debug usando CDB in \\BOX17. L'applicazione di destinazione ha un ID processo pari a 122. Viene scelto il protocollo TCP, con un numero di porta socket pari a 1025. Il server viene avviato immettendo il comando seguente in una finestra del prompt dei comandi con privilegi elevati (Esegui come amministratore):
E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122
Nell'altro computer il tecnico decide di usare WinDbg come client di debug. Può essere avviato con questo comando:
G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025
Di seguito è riportato un altro esempio. In questo caso viene scelto il protocollo NPIPE e viene usato CDB anziché WinDbg. Il primo utente sceglie un nome di pipe. Può trattarsi di qualsiasi stringa alfanumerica, in questo esempio "MainPipe". Il primo utente apre una finestra del prompt dei comandi con privilegi elevati (Esegui come amministratore) e avvia un server di debug immettendo questo comando:
E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe
Il tecnico è connesso al computer client con un account che non ha accesso al computer server. Ma il tecnico conosce il nome utente e la password per un account che ha accesso al computer server. Il nome utente per tale account è Contoso. Il tecnico immette il comando seguente:
net use \\BOX17\ipc$ /user:Contoso
Quando richiesto, il tecnico immette la password per l'account Contoso.
Il tecnico non è sicuro del nome usato per la named pipe, quindi esegue una query SU BOX17 per individuare i server di debug disponibili.
G:\Debugging Tools> cdb -QR \\BOX17
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe
Vengono visualizzate due pipe. Tuttavia, solo uno è un server di debug, l'altro è un server di elaborazione e non è interessato a questo. Quindi MainPipe deve essere il nome corretto. Il tecnico usa il comando seguente per avviare il client di debug:
G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe
Uso di un server sicuro
Di seguito è riportato un esempio di server sicuro. Questo server usa il livello socket sicuro con un protocollo S-Channel di TLS1. Il debugger cercherà il certificato nell'archivio computer. Il certificato viene specificato dalla relativa identificazione personale esadecimale.
D:\> cdb -server "ssl:proto=tls1,machuser=ab 38 f7 ae 13 20 ac da 05 14 65 60 30 83 7b 83 09 2c d2 34,port=1234" notepad.exe