.server (Crea server di debug)
Il comando server avvia un server di debug, consentendo una connessione remota alla sessione di debug corrente.
Importante
Quando si usa il debug remoto, è necessario tenere presenti importanti considerazioni sulla sicurezza. Per altre informazioni, incluse le informazioni sull'abilitazione della modalità protetta, vedere Considerazioni sulla sicurezza per gli strumenti di debug di Windows.
Metodi di connessione consigliati, con alcuni di sicurezza aggiuntivi
.server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password]
metodi di connessione non sicuri
.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable]
.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6]
.server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
Parametri
pipename
Quando si usa il protocollo NPIPE o SPIPE, PipeName è una stringa che fungerà da nome della pipe. Ogni nome della pipe deve identificare un server di debug univoco. Se si tenta di riutilizzare un nome di pipe, verrà visualizzato un messaggio di errore.
PipeName non deve contenere spazi o virgolette.
PipeName può includere un codice di formato printf-style, ad esempio %x o %d. Il debugger sostituirà questo oggetto con l'ID del processo del debugger. Un secondo codice di questo tipo verrà sostituito con l'ID thread del debugger.
Socket
Quando si usa il protocollo TCP o SSL, Socket è il numero di porta socket.
È anche possibile specificare un intervallo di porte separate da due punti. Il debugger verificherà ogni porta in questo intervallo per verificare se è disponibile. Se trova una porta libera e non si verifica alcun errore, verrà creato il server di debug. Il client di debug dovrà specificare la porta effettiva utilizzata per connettersi al server. Per determinare la porta effettiva, usare uno dei metodi descritti in Ricerca di server di debug; quando viene visualizzato questo server di debug, la porta sarà seguita da due numeri separati da due punti. Il primo numero sarà la porta effettiva usata; il secondo può essere ignorato. Ad esempio, se la porta è stata specificata come port=51:60 e la porta 53 è stata effettivamente usata, i risultati della ricerca visualizzeranno "port=53:60". Se si usa il parametro clicon per stabilire una connessione inversa, il client di debug può specificare un intervallo di porte in questo modo, mentre il server deve specificare la porta effettiva usata.
clicon=Client
Quando viene usato il protocollo TCP o SSL e viene specificato il parametro clicon \\
) sono facoltative.
Quando si usa clicon, è consigliabile avviare il client di debug prima della creazione del server di debug, anche se è consentito anche l'ordine consueto (server prima del client). Un server di connessione inversa non verrà visualizzato quando un altro debugger visualizza tutti i server attivi.
COMPort
Quando si usa il protocollo COM, COMPort specifica la porta COM da utilizzare. Il prefisso COM è facoltativo (ad esempio, sia "com2" che "2" sono accettabili).
BaudRate
Quando si usa il protocollo COM, BaudRate specifica la velocità baud con cui verrà eseguita la connessione. Qualsiasi velocità baud supportata dall'hardware è consentita.
COMChannel
Se viene usato il protocollo COM, COMChannel specifica il canale COM da usare per comunicare con il client di debug. Può essere qualsiasi valore compreso tra 0 e 254 inclusi.
protocollo
Se viene usato il protocollo SSL o SPIPE, Protocol specifica il protocollo Secure Channel (S-Channel). Può trattarsi di una delle stringhe tls1, pct1, ssl2 o ssl3.
certificato
Se viene usato il protocollo SSL o SPIPE, certificato specifica il certificato. Può trattarsi del nome del certificato o dell'identificazione personale del certificato (stringa di cifre esadecimali fornite dallo snapin del certificato). Se viene usata la sintassi certuser=Cert, il debugger cercherà il certificato nell'archivio di sistema (archivio predefinito). Se viene usata la sintassi Cert, il debugger cercherà il certificato nell'archivio computer. Il certificato specificato deve supportare l'autenticazione del server.
nascosti
Impedisce la visualizzazione del server quando un altro debugger visualizza tutti i server attivi.
password=password
Richiede un client di debug per fornire la password specificata per connettersi alla sessione di debug.
password può essere qualsiasi stringa alfanumerica, fino a dodici caratteri di lunghezza.
ipversion=6
(Solo strumenti di debug per Windows 6.6.07 e versioni precedenti) Forza il debugger a usare IP versione 6 anziché la versione 4 quando si usa TCP per connettersi a Internet. In Windows Vista e versioni successive il debugger tenta di impostare automaticamente l'impostazione predefinita su IP versione 6, rendendo questa opzione non necessaria.
IcfEnable
Fa sì che il debugger abiliti le connessioni di porta necessarie per la comunicazione TCP o named pipe quando il firewall di connessione Internet è attivo. Per impostazione predefinita, il firewall di connessione Internet disabilita le porte usate da questi protocolli. Quando IcfEnable viene usato con una connessione TCP, il debugger fa sì che Windows apra la porta specificata dal parametro Socket. Quando IcfEnable viene usato con una connessione named pipe, il debugger fa sì che Windows apra le porte usate per le named pipe (porte 139 e 445). Il debugger non chiude queste porte al termine della connessione.
Ambiente
Articolo | Descrizione |
---|---|
Modalità | Modalità utente, modalità kernel |
Obiettivi | Live, crash dump |
Piattaforme | Tutto |
Informazioni aggiuntive
Per informazioni dettagliate su come avviare un server di debug, vedere Attivazione di un server di debug. Per esempi, vedere esempi di client e server .
Osservazioni
Questo comando trasforma il debugger corrente in un server di debug. In questo modo è possibile avviare il server dopo che il debugger è già in esecuzione, mentre l'opzione della riga di comando -server può essere eseguita solo all'avvio del debugger.
Ciò consente a un client di debug di connettersi alla sessione di debug corrente. Si noti che è possibile avviare più server usando diverse opzioni, consentendo a diversi tipi di client di debug di partecipare alla sessione.
Importante
L'uso di una password con protocollo TCP, NPIPE o COM offre solo una piccola quantità di protezione, perché la password non è crittografata. Quando si usa una password insieme a un protocollo SSL o SPIPE, la password viene crittografata. Se si vuole stabilire una sessione remota sicura, è necessario usare il protocollo SSL o SPIPE.