Estudo de caso
Estudo de caso: infraestrutura de testes de caminhos de falha com o Application Verifier
Estudo de caso técnico sobre o uso do Application Verifier para montar primeiro uma infraestrutura de testes de caminhos de falha e, com ela, evitar a recorrência de problemas.
Visão geral do caso
Em vez de encerrar o problema com uma correção pontual, este caso usou o Application Verifier para montar a própria infraestrutura de testes de caminhos de falha. O objetivo não era apenas encontrar a falha atual, mas deixar antes um estado em que a próxima falha também seja fácil de rastrear.
Sintomas
- Apenas com testes do fluxo normal, os problemas nos caminhos de falha raramente apareciam
- Situações de pouco recurso e anomalias de handles tendiam a surgir só em condições próximas às de produção
- Os procedimentos de investigação tendiam a depender de quem os conduzia
Restrições
- Esgotar de verdade os recursos de um equipamento real é caro e arriscado
- Era preciso trazer à tona antecipadamente os modos de falha na fronteira com código nativo e com a Win32
- A solução precisava ser organizada de forma que pudesse ser reaproveitada em investigações futuras
O que observamos
- Configurações do Verifier como
Handles,HeapseLow Resource Simulation - Vestígios de caminhos de falha, incluindo
!htracee page heap - A correspondência entre o nosso próprio lifecycle log e as informações de parada do Verifier
Como isolamos o problema
Primeiro, separamos o que dava para acompanhar apenas com os logs comuns do que só ficaria visível aplicando o Verifier. Em seguida, aplicamos o Verifier a um caminho de execução encapsulado em um harness de teste e adotamos uma abordagem de trazer à tona antecipadamente anomalias difíceis de reproduzir.
O que melhorou
- Montamos uma infraestrutura de testes que percorre intencionalmente os caminhos de falha
- Passou a ser possível observar anomalias de handles e de heap em ciclos mais curtos
- Organizamos os pontos de observação de modo que seja fácil retornar a eles em revisões de projeto e em medidas de prevenção de recorrência
Serviços relacionados a este caso
Este caso se liga diretamente à investigação de falhas e análise de causa raiz, que avança na reprodução da falha e na identificação da causa. Também se liga à consultoria técnica e revisão de projeto, em que se define até que ponto os testes de caminhos de falha e os pontos de observação devem ser incorporados ao projeto.
Consulte-nos
Se esta página se aproxima da situação que você enfrenta, consulte-nos informando o contexto atual e o tipo de apoio de que precisa.