Indicazioni sulla risoluzione dei problemi relativi al comportamento di arresto anomalo dell'applicazione o del servizio
Articolo
Questo articolo fornisce indicazioni su come risolvere i problemi relativi ai comportamenti di arresto anomalo dell'applicazione o del servizio.
Si applica a: tutte le versioni supportate di Windows Server e Client Windows
Quando viene visualizzato ripetutamente l'ID evento 1001 e l'ID evento 1000 nel log applicazioni, indica un comportamento di arresto anomalo dell'applicazione. Si verifica insieme a processi di prima o terze parti e punta a un possibile modulo di errore.
Questo articolo illustra in dettaglio il processo di controllo dell'evento, la comprensione delle informazioni nell'evento e la gestione dell'evento in base al fatto che si tratti di un'applicazione di prima o di terze parti. In questo processo vengono usati gli strumenti di debug per Windows .
Operazioni preliminari
Considerazioni:
Verificare di eseguire gli aggiornamenti più recenti per la versione del sistema operativo installata.
Verificare che l'applicazione interessata sia aggiornata.
Se il software antivirus è installato, verificare che sia in esecuzione nella versione più recente e che siano presenti esclusioni necessarie.
Le informazioni sull'ID evento 1001 level indicano se Segnalazione errori Windows (WER) è abilitato nel sistema. Tuttavia, è necessario modificare questo servizio per raccogliere le level informazioni necessarie per l'indagine. Il sistema non registra queste informazioni per impostazione predefinita per evitare un leggero sovraccarico delle prestazioni.
L'ID evento 1000 con il Error livello è l'evento di arresto anomalo dell'applicazione effettivo. Mostra le informazioni seguenti come esempio:
Spesso presenta un modulo Microsoft come modulo di errore, ad esempio ntdll.dll, kernel32.dll e kernelbase.dll. Questi moduli vengono usati molto durante l'esecuzione e la transizione dei processi tra la modalità utente e la modalità kernel. Nel processo, vengono catturati come vittime di altri tipi di corruzione precedentemente eseguiti da moduli di comportamento errato.
Eccezioni comuni:
0xc0000022
STATUS_ACCESS_DENIED
0xc0000005
STATUS_ACCESS_VIOLATION
0xc0000374
STATUS_HEAP_CORRUPTION
Quando si verifica un'eccezione, è possibile abilitare la registrazione dettagliata aggiuntiva per il processo e raccogliere un dump completo del processo usando Segnalazione errori Windows (WER) e GFlags (gflags.exe).
Installare gli strumenti di debug per Windows per ottenere gflags.exe, come è incluso negli strumenti. Tuttavia, è sufficiente copiare il file senza installare gli strumenti nel computer che richiede la risoluzione dei problemi.
Raccogliere i dati
Per l'esempio precedente di un arresto anomalo del netsh.exe , configurare il computer per raccogliere i dump per altre informazioni su ciò che ha causato l'arresto anomalo. Sostituire netsh.exe con il file eseguibile identificato nell'ID evento 1000 nel dispositivo.
Configurare WER per raccogliere i dump completi del processo dell'eccezione eseguendo i comandi seguenti da un prompt dei comandi con privilegi elevati:
Questi comandi consentono di raccogliere e archiviare nella cartella C:\WER fino a 10 dump completi del processo di netsh.exe.
Nota
Viene aggiunto il percorso del Registro di sistema Windows in Windows 64 (WOW64), che consente l'esecuzione di applicazioni a 32 bit su sistemi a 64 bit.
Configurare GFlags per monitorare le allocazioni dell'heap per tenere traccia del danneggiamento.
Passare alla directory in cui si trova lo strumento ed eseguire i comandi seguenti da un prompt dei comandi con privilegi elevati.
Dopo aver raccolto i dati e aver completato l'indagine, eliminare la chiave del Registro di sistema (quella con il nome del processo) e disattivare il flag Abilita heap della pagina per GFlags.
Usare Web App Down (App Web inattiva), il monitoraggio degli arresti anomali e Ask Genie per la risoluzione dei problemi. Usare questi strumenti per monitorare la disponibilità dell'applicazione e della piattaforma, identificare eccezioni non gestite, acquisire dump di memoria e stack di chiamate e trovare aree di analisi e diagnostica.
Questo comportamento si verifica per impedire che i file di dump della memoria kernel vengano scritti in un file di pagina in cui il file di dump della memoria è maggiore del file di pagina. La soluzione alternativa consiste nel modificare il Registro di sistema per abilitare questo comportamento.