Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante Lpc è ora emulato in alpc, usare invece l'estensione !alpc.
L'estensione !lpc visualizza informazioni su tutte le porte e i messaggi di chiamata di routine locale (LPC) nel sistema di destinazione.
!lpc message MessageID
!lpc port Port
!lpc scan Port
!lpc thread Thread
!lpc PoolSearch
!lpc
Parametri
Messaggio
(solo Windows Server 2003, Windows XP e Windows 2000) Visualizza informazioni su un messaggio, ad esempio la porta del server che contiene il messaggio nella coda e il thread in attesa di questo messaggio, se presente.
MessageID
(solo Windows Server 2003, Windows XP e Windows 2000) Specifica l'ID messaggio del messaggio da visualizzare. Se il valore di questo parametro è 0 o questo parametro viene omesso, il comando !lpc message visualizza un elenco di riepilogo dei messaggi. (In Windows 2000 con Service Pack 1 (SP1), il riepilogo include tutti i messaggi nella zona LPC. In Windows 2000 con Service Pack 2 (SP2), Windows XP e versioni successive di Windows, il riepilogo include tutti i messaggi nel pool di kernel. I messaggi di paging non sono inclusi.
porto
(solo Windows Server 2003, Windows XP e Windows 2000) Visualizza informazioni sulla porta, ad esempio il nome della porta, il relativo stato semaforo, i messaggi nelle code, i thread nella coda di rundown, il numero di handle, i riferimenti e le porte correlate.
scannerizzare
(solo Windows Server 2003, Windows XP e Windows 2000) Visualizza informazioni di riepilogo sulla porta specificata e su tutte le porte connesse.
Porto
(solo Windows Server 2003, Windows XP e Windows 2000) Specifica l'indirizzo esadecimale della porta da visualizzare. Se viene usato il comando !lpc port e Port è 0 o viene omesso, viene visualizzato un elenco riepilogo di tutte le porte LPC. Se viene usato il comando !lpc scan , port deve specificare l'indirizzo di una porta effettiva.
filo
(solo Windows Server 2003, Windows XP e Windows 2000) Visualizza le informazioni sulla porta per tutte le porte che contengono il thread specificato nelle code delle porte di rundown.
Filo
(solo Windows Server 2003, Windows XP e Windows 2000) Specifica l'indirizzo esadecimale del thread. Se si tratta di 0 o viene omesso, il comando thread !lpc visualizza un elenco di riepilogo di tutti i thread che eseguono qualsiasi operazione LPC.
PoolSearch
(solo Windows Server 2003 e Windows XP) Determina se il comando !lpc message cerca i messaggi nel pool di kernel. Ogni volta che si usa !lpc PoolSearch , questa impostazione attiva o disattiva (l'impostazione iniziale consiste nel non cercare il pool di kernel). Questo influisce solo sui comandi !lpc message che specificano un valore diverso da zero per MessageID.
DLL
Kdexts.dll
Informazioni aggiuntive
Per informazioni sui LPC, vedere la documentazione di Windows Driver Kit (WDK) e le informazioni interne di Microsoft Windows di Mark Russinovich e David Solomon.
Osservazioni:
Questa estensione non è supportata in Windows Vista e versioni successive di Windows.
In Windows Server 2003, Windows XP e Windows 2000, l'uso di !lpc senza argomenti visualizza la Guida per questa estensione nella finestra Comando debugger.
Se si dispone di un thread contrassegnato come in attesa di una risposta a un messaggio, usare il comando !lpc message con l'ID del messaggio ritardato. Questo comando visualizza il messaggio specificato, la porta che lo contiene e tutti i thread correlati.
Se il messaggio non viene trovato e non sono stati rilevati errori di lettura, ad esempio "Impossibile accedere al segmento di zona", il server ha ricevuto il messaggio.
In questo caso, la porta del server è in genere disponibile usando il comando !lpc thread . I thread in attesa di risposte vengono collegati in una coda di comunicazione server. Questo comando visualizzerà tutte le porte che contengono il thread specificato. Dopo aver conosciuto l'indirizzo della porta, usare il comando !lpc port . È quindi possibile ottenere informazioni più specifiche su ogni thread usando il comando !lpc threadcon l'indirizzo di ogni thread.
Ecco alcuni esempi dell'output di questa estensione da un sistema Windows XP:
In questo esempio vengono visualizzate tutte le porte LPC della porta.
kd> !lpc port
Scanning 225 objects
1 Port: 0xe1405650 Connection: 0xe1405650 Communication: 0x00000000 'SeRmCommandPort'
1 Port: 0xe141ef50 Connection: 0xe141ef50 Communication: 0x00000000 'SmApiPort'
1 Port: 0xe13c5740 Connection: 0xe13c5740 Communication: 0x00000000 'ApiPort'
1 Port: 0xe13d9550 Connection: 0xe13d9550 Communication: 0x00000000 'SbApiPort'
3 Port: 0xe13d8830 Connection: 0xe141ef50 Communication: 0xe13d8910 '
80000004 Port: 0xe13d8910 Connection: 0xe141ef50 Communication: 0xe13d8830 '
3 Port: 0xe13d8750 Connection: 0xe13d9550 Communication: 0xe13a4030 '
.....
Nell'esempio precedente la porta all'indirizzo e14ae238 non contiene messaggi; ovvero tutti i messaggi sono stati prelevati e non sono arrivati nuovi messaggi.
kd> !lpc port e14ae238
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 107
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
The message queue is empty
The LpcDataInfoChainHead queue is empty
Nell'esempio precedente la porta in corrispondenza di 0xe14ae238 contiene messaggi che sono stati accodati, ma non ancora prelevati dal server.
kd> !lpc port 0xe14ae238
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 108
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
Messages in queue:
0000 e20d9b80 - Busy Id=0002249c From: 0584.0680 Context=00000021 [e14ae248 . e14ae248]
Length=0098007c Type=00000001 (LPC_REQUEST)
Data: 00000000 0002021e 00000584 00000680 002f0001 00000007
The message queue contains 1 messages
The LpcDataInfoChainHead queue is empty
Gli esempi rimanenti di Windows XP riguardano le altre opzioni che possono essere usate con questa estensione.
kd> !lpc message 222be
Searching message 222be in threads ...
Client thread 842a4db0 waiting a reply from 222be
Searching thread 842a4db0 in port rundown queues ...
Server communication port 0xe114a3c0
Handles: 1 References: 1
The LpcDataInfoChainHead queue is empty
Connected port: 0xe1e7b948 Server connection port: 0xe14ae238
Client communication port 0xe1e7b948
Handles: 1 References: 3
The LpcDataInfoChainHead queue is empty
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 107
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
The message queue is empty
The LpcDataInfoChainHead queue is empty
Done.
kd> !lpc thread 842a4db0
Searching thread 842a4db0 in port rundown queues ...
Server communication port 0xe114a3c0
Handles: 1 References: 1
The LpcDataInfoChainHead queue is empty
Connected port: 0xe1e7b948 Server connection port: 0xe14ae238
Client communication port 0xe1e7b948
Handles: 1 References: 3
The LpcDataInfoChainHead queue is empty
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 107
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
The message queue is empty
The LpcDataInfoChainHead queue is empty
kd> !lpc scan e13d8830
Scanning 225 objects
3 Port: 0xe13d8830 Connection: 0xe141ef50 Communication: 0xe13d8910 '
80000004 Port: 0xe13d8910 Connection: 0xe141ef50 Communication: 0xe13d8830 '
Scanning 3 objects