
Nas versões anteriores do Windows, quando um aplicativo travava, eu recebia uma caixa de diálogo que dizia "<app> parou de funcionar". No entanto, no Windows 10, normalmente não vejo essa caixa de diálogo – o aplicativo simplesmente fecha e o serviço Relatório de Erros do Windows ( WerFault.exe
) relata a falha. (Essa caixa de diálogo ainda pode aparecer para aplicativos em primeiro plano, mas geralmente não a vejo para aplicativos da Windows Store, aplicativos em segundo plano ou aplicativos de sistema como o Windows Explorer. Além disso, o comportamento pode depender de um depurador como o Visual Studio estar instalado.)
Não posso deixar de pensar que a Microsoft também
- tentando evitar que os usuários impeçam o WER de relatar a falha, como parte de sua estratégia de confiar na telemetria para melhorar seus produtos em detrimento da privacidade, ou
- eliminando a necessidade de entrada do usuário quando um aplicativo trava, o que às vezes pode ser problemático - quando a caixa de diálogo "parou de funcionar" aparece, o aplicativo travado não sai até que o usuário feche a caixa de diálogo de erro, o que pode não ser possível se o aplicativo conectou o mouse, como acontece com muitos jogos em tela cheia.
Independentemente disso, não consegui encontrar uma fonte oficial sobre essa mudança. Essa alteração ocorre intencionalmente e há alguma alteração no registro ou outro meio pelo qual posso reativar essa caixa de diálogo? A resposta ideal contém uma referência a uma fonte oficial da Microsoft; esta não pretende ser uma pergunta baseada em opinião.
Responder1
Encontrei uma maneira de reativar o comportamento antigo.
Usando o Editor de Política de Grupo:
- Correr
gpedit.msc
- Vá para Política do Computador Local > Configuração do Computador > Modelos Administrativos > Componentes do Windows > Relatório de Erros do Windows
- Definido
Prevent display of the user interface for critical errors
comoDisabled
.
Observe que a ajuda da configuração está errada porque diz If you disable or do not configure this policy setting, Windows Error Reporting displays the user interface for critical errors
, mas isso não parece ser verdade se a política não estiver configurada.
Se você não quiser usar o Editor de Política de Grupo, execute o Editor do Registro e, na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting
, crie um DWORD DontShowUI
valor 0.
Acho que a vantagem de usar o Editor de Política de Grupo é que a configuração sobreviverá a uma atualização importante de recursos do Windows, enquanto a configuração do registro pode ser perdida.
Também me pergunto qual é a palavra oficial sobre isso.
Responder2
A configuração de política sugerida na resposta do @BIOSCMOS ainda tem efeito apenas nos processos que exibem uma interface de usuário. O WER no Windows 10 nunca mostra uma caixa de diálogo quando um processo invisível falha, independentemente do DontShowUI
valor. Procurei bastante, mas não consegui encontrar uma configuração semelhante para processos invisíveis.
Então, escrevi uma ferramenta que se conecta ao WER e modifica seu comportamento para mostrar a caixa de diálogo para todas as falhas, incluindo aquelas em processos invisíveis:WerTweak. Além disso, faz com que o WER exiba a mesma caixa de diálogo de relatório de falhas antiga das versões anteriores do Windows, em vez da nova caixa de diálogo danificada normalmente exibida no Windows 10.