Depurando uma falha de aplicativo
Há uma variedade de erros possíveis em aplicativos de modo de usuário.
Os tipos mais comuns de falhas incluem violações de acesso, falhas de alinhamento, exceções, tempos limite de seção críticos (deadlocks) e erros de E/S na página.
Violações de acesso e desalinhamentos de tipo de dados estão entre os mais comuns. Eles geralmente ocorrem quando um ponteiro inválido é desreferenciado. O blame pode estar na função que causou a falha ou com uma função anterior que passou um parâmetro inválido para a função com falha.
As exceções de modo de usuário têm muitas causas possíveis. Se ocorrer uma exceção desconhecida, localize-a em ntstatus.h ou winerror.h, se possível.
Tempos limite de seção críticos (ou possíveis deadlocks) ocorrem quando um thread está aguardando uma seção crítica por um longo tempo. Eles são difíceis de depurar e exigem uma análise detalhada do rastreamento de pilha.
Erros de E/S na página são quase sempre falhas de hardware. Você pode marcar o código de status em ntstatus.h para verificar.
Confira também
Tempo Limite de Seção Crítico (modo de usuário)