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.
DTrace offre una funzionalità per acquisire il dump in tempo reale dall'interno dello script D usando lkd(). I file di dump della memoria vengono usati per il debug di problemi complessi in Windows tramite il debugger di Windows. Per ulteriori informazioni, vedere Analizzare i file di dump di crash tramite WinDbg. Per scaricare il debugger, vedere Scaricare e installare il debugger Windows WinDbg.
DTrace live dump consente di attivare il dump nel punto esatto in cui si è verificato l'errore. Ad esempio, l'errore potrebbe essere una funzione che restituisce un errore. È possibile utilizzare DTrace per agganciarsi al ritorno di questa funzione e attivare un live dump quando il valore restituito è "error".
Annotazioni
DTrace è supportato nelle build Insider di Windows dopo la versione 18980 e Windows Server Build 18975.
Per informazioni generali sull'uso di DTrace in Windows, vedere DTrace.
Utilizzo del DTrace Live Dump
Utilizzo: lkd (parametro);
È possibile impostare le opzioni seguenti per modificare le informazioni incluse nel mini dump live.
0x0 - Dump completo del kernel (valore predefinito)
0x1 - Pagine utente e pagine kernel (funziona solo con il collegamento KD)
0x2 - Minidump
0x4 - pagine Hyper-V più pagine Kernel)
0x5: pagine utente, kernel e hypervisor.
Codice di esempio di dump live
#pragma D option destructive
inline uint32_t STATUS_UNSUCCESSFUL = 0xc0000001UL;
syscall:::return
{
this->status = (uint32_t)arg0;
if (this->status == STATUS_UNSUCCESSFUL)
{
printf ("Return value arg0:%x \n", this->status);
printf ("Triggering LiveDump \n");
lkd(0);
exit(0);
}
}
Salvare il file come livedumpstatuscheck.d.
Aprire la finestra del prompt dei comandi come Amministratore ed eseguire lo script usando l'opzione -s.
C:\Windows\System32>dtrace -s livedumpstatuscheck.d
dtrace: script 'livedumpstatuscheck.d' matched 1881 probes
dtrace: allowing destructive actions
CPU ID FUNCTION:NAME
0 93 NtAlpcSendWaitReceivePort:return Return value arg0:c0000001
Triggering LiveDump
Il file di dump creato si trova in genere in C:\Windows\LiveKernelReports.
Se il percorso del file di dump è stato modificato, il valore viene archiviato in questa chiave del Registro di sistema: hklm\system\currentcontrolset\control\crashcontrol\livekernelreports
Usare WinDbg per lavorare con un file di dump come descritto in precedenza.
Risoluzione dei problemi
Visualizzazione degli eventi correlati al live dump
Aprire il Visualizzatore eventi di Windows: Passare a: Registri applicazioni e servizi-Microsoft-Windows-Kernel-Livedump-Operational>>>>
Se non sono stati trovati log, abilitare il canale analitico dal prompt dei comandi o dal Visualizzatore eventi, come descritto di seguito.
Abilitare il canale analitico dal prompt dei comandi
Usare questo comando per abilitare il canale analitico dal prompt dei comandi dell'amministratore.
wevtutil sl Microsoft-Windows-Kernel-LiveDump/Analytic /e:true
Abilitare il canale analitico tramite Visualizzatore eventi
Avviare Il Visualizzatore eventi di Windows
Fare clic su Visualizza e selezionare "Mostra log analitici e di debug". Verrà visualizzato il canale analitico per livedump.
Fare clic con il pulsante destro del mouse su e abilitare Microsoft-Windows-Kernel-LiveDump/Analytics.
Abilitazione di dump live completi
Le seguenti impostazioni di esempio mostrano come impostare su 10 il numero massimo di dump completi in tempo reale che possono trovarsi su disco in qualsiasi momento e memorizza i dump completi della memoria, non solo un mini dump.
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v FullLiveReportsMax /d 10
reg add "HKLM\System\CurrentControlSet\Control\CrashControl" /f /t REG_DWORD /v AlwaysKeepMemoryDump /d 1
Per altre informazioni su queste impostazioni, vedere Impostazioni wer.
Disabilitare il throttling
La limitazione è una funzionalità che impedisce al sistema di dump e al sistema di logging di influire sull'uso normale di Windows. Questa funzionalità può interferire con la creazione di dump in tempo reale in determinati ambienti vincolati di risorse.
Controllare le impostazioni di limitazione del dump live e, se necessario, riprovare disabilitando la limitazione impostando le chiavi SystemThrottleThreshold e ComponentThrottleThreshold su zero, come mostrato qui.
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v SystemThrottleThreshold /d 0
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v ComponentThrottleThreshold /d 0
Problemi di spazio su disco (ID evento 202 -Error Testo: API live dump deferred dump data terminata. Stato NT: 0xC000007F.)
Ciò significa che lo spazio su disco non è sufficiente. Aggiornare la chiave del Registro di sistema illustrata di seguito per modificare il percorso per la creazione di dump in tempo reale, in questo esempio in un'unità d: con spazio di archiviazione aggiuntivo disponibile.
reg add hklm\system\currentcontrolset\control\crashcontrol\livekernelreports /v "LiveKernelReportsPath" /t reg_sz /d "\??\d:\livedumps"
Questo comando imposta il percorso radice del dump attivo su d:\livedumps (ad esempio).
Non creare manualmente la cartella perché è gestita dal sistema operativo e verrà creata quando il dump viene attivato con le autorizzazioni appropriate.