Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
L'estensione !bpid richiede che un processo nel computer di destinazione si interrompa nel debugger o richieda che un debugger in modalità utente sia collegato a un processo nel computer di destinazione.
!bpid [Options] PID
Parametri
Opzione
Controlla le attività aggiuntive di questo comando.
I valori validi per Option vengono visualizzati nella tabella seguente.
-a |
Collega un nuovo debugger in modalità utente al processo specificato da PID. Il debugger in modalità utente viene eseguito nel computer di destinazione. |
-s |
Aggiunge un punto di interruzione che si verifica nel processo WinLogon immediatamente prima dell'interruzione nel processo in modalità utente specificato da PID. In questo modo l'utente può verificare la richiesta prima di tentare l'azione. |
-w |
Archivia la richiesta nella memoria nel computer di destinazione. Il sistema di destinazione può quindi ripetere la richiesta, ma in genere non è necessario. |
PID
Specifica l'ID processo del processo desiderato nel computer di destinazione. Se si usa questa opzione per controllare un debugger in modalità utente nel computer di destinazione, PID deve essere l'ID processo dell'applicazione di destinazione, non del debugger in modalità utente. Poiché gli ID processo sono in genere elencati in formato decimale, potrebbe essere necessario anteporre il prefisso 0n o convertirlo in formato esadecimale.
DLL
Kdexts.dll
Questo comando di estensione è supportato nei computer di destinazione basati su x86 x64.
Osservazioni:
Questo comando è particolarmente utile quando si reindirizza l'input e l'output da un debugger in modalità utente al debugger del kernel. Fa sì che l'applicazione di destinazione in modalità utente si interrompa nel debugger in modalità utente, che a sua volta richiede l'input dal debugger del kernel. Per informazioni dettagliate, vedere Controllo del debugger in modalità utente dal debugger del kernel.
Se questo comando viene usato in un'altra situazione, il processo in modalità utente chiama DbgBreakPoint. Questo in genere si suddividerà direttamente nel debugger del kernel.
L'opzione -s causa un'interruzione in WinLogon subito prima che si verifichi l'interruzione nel processo specificato. Ciò è utile se vuoi eseguire azioni di debug all'interno del contesto del processo di WinLogon. Il comando g (Go) può quindi essere usato per passare alla seconda interruzione.
Si noti che esistono modi in cui l'estensione può non riuscire a eseguire:
Mancanza di risorse. L'estensione !bpid inserisce un thread nel processo di destinazione, quindi il sistema deve disporre di risorse sufficienti per creare un thread. L'uso dell'opzione -a richiede ancora più risorse di sistema perché !bpid -a deve eseguire un'istanza completa di un debugger nel computer di destinazione.
Il blocco del caricatore è già mantenuto. Sia !bpid che !bpid -a richiedono l'esecuzione di un thread nel processo di destinazione per renderlo suddiviso nel debugger. Se un altro thread mantiene il blocco del caricatore, il thread !bpid non sarà in grado di eseguire e potrebbe non verificarsi un'interruzione nel debugger. Pertanto, se !bpid ha esito negativo quando è disponibile memoria in modalità utente sufficiente per il processo di destinazione, è possibile che il blocco del caricatore venga mantenuto.
Mancanza di autorizzazione. L'operazione dell'estensione !bpid richiede l'autorizzazione sufficiente per WinLogon per creare un thread remoto e collegare un debugger a un determinato processo.
Nessun accesso a ntsd.exe. Se ntsd.exe non viene trovato in un percorso comunemente noto, !bpid non riuscirà a impostare un PID appropriato. Si noti che ntsd.exe non è incluso per impostazione predefinita con Windows Vista.